gdb: add target_ops::supports_displaced_step
[deliverable/binutils-gdb.git] / gas / depend.c
index c6538ddfd0fbe40d1e5c176f20ede5c66fd8a5db..f569484c42e9285b739226da93e815e53cd29913 100644 (file)
@@ -1,11 +1,11 @@
 /* depend.c - Handle dependency tracking.
-   Copyright 1997, 1998, 2000 Free Software Foundation, Inc.
+   Copyright (C) 1997-2020 Free Software Foundation, Inc.
 
    This file is part of GAS, the GNU Assembler.
 
    GAS is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 2, or (at your option)
+   the Free Software Foundation; either version 3, or (at your option)
    any later version.
 
    GAS is distributed in the hope that it will be useful,
 
    You should have received a copy of the GNU General Public License
    along with GAS; see the file COPYING.  If not, write to the Free
-   Software Foundation, 59 Temple Place - Suite 330, Boston, MA
-   02111-1307, USA.  */
+   Software Foundation, 51 Franklin Street - Fifth Floor, Boston, MA
+   02110-1301, USA.  */
 
 #include "as.h"
+#include "filenames.h"
 
 /* The file to write to, or NULL if no dependencies being kept.  */
-static char *dep_file = NULL;
+static char * dep_file = NULL;
 
-struct dependency {
-  char *file;
-  struct dependency *next;
+struct dependency
+{
+  char * file;
+  struct dependency * next;
 };
 
 /* All the files we depend on.  */
-static struct dependency *dep_chain = NULL;
+static struct dependency * dep_chain = NULL;
 
 /* Current column in output file.  */
 static int column = 0;
 
-static int quote_string_for_make PARAMS ((FILE *, char *));
-static void wrap_output PARAMS ((FILE *, char *, int));
+static int quote_string_for_make (FILE *, const char *);
+static void wrap_output (FILE *, const char *, int);
 
 /* Number of columns allowable.  */
 #define MAX_COLUMNS 72
@@ -44,8 +46,7 @@ static void wrap_output PARAMS ((FILE *, char *, int));
    never called, then dependency tracking is simply skipped.  */
 
 void
-start_dependencies (filename)
-     char *filename;
+start_dependencies (char *filename)
 {
   dep_file = filename;
 }
@@ -53,8 +54,7 @@ start_dependencies (filename)
 /* Noticed a new filename, so try to register it.  */
 
 void
-register_dependency (filename)
-     char *filename;
+register_dependency (const char *filename)
 {
   struct dependency *dep;
 
@@ -63,11 +63,11 @@ register_dependency (filename)
 
   for (dep = dep_chain; dep != NULL; dep = dep->next)
     {
-      if (!strcmp (filename, dep->file))
+      if (!filename_cmp (filename, dep->file))
        return;
     }
 
-  dep = (struct dependency *) xmalloc (sizeof (struct dependency));
+  dep = XNEW (struct dependency);
   dep->file = xstrdup (filename);
   dep->next = dep_chain;
   dep_chain = dep;
@@ -80,15 +80,15 @@ register_dependency (filename)
    This code is taken from gcc with only minor changes.  */
 
 static int
-quote_string_for_make (file, src)
-     FILE *file;
-     char *src;
+quote_string_for_make (FILE *file, const char *src)
 {
-  char *p = src;
+  const char *p = src;
   int i = 0;
+
   for (;;)
     {
       char c = *p++;
+
       switch (c)
        {
        case '\0':
@@ -101,7 +101,8 @@ quote_string_for_make (file, src)
               preceded by 2N backslashes represents N backslashes at
               the end of a file name; and backslashes in other
               contexts should not be doubled.  */
-           char *q;
+           const char *q;
+
            for (q = p - 1; src < q && q[-1] == '\\'; q--)
              {
                if (file)
@@ -120,8 +121,8 @@ quote_string_for_make (file, src)
          if (file)
            putc (c, file);
          i++;
-         /* Fall through.  This can mishandle things like "$(" but
-            there's no easy fix.  */
+         /* Fall through.  */
+         /* This can mishandle things like "$(" but there's no easy fix.  */
        default:
        ordinary_char:
          /* This can mishandle characters in the string "\0\n%*?[\\~";
@@ -141,10 +142,7 @@ quote_string_for_make (file, src)
    wrapping as necessary.  */
 
 static void
-wrap_output (f, string, spacer)
-     FILE *f;
-     char *string;
-     int spacer;
+wrap_output (FILE *f, const char *string, int spacer)
 {
   int len = quote_string_for_make (NULL, string);
 
@@ -182,7 +180,7 @@ wrap_output (f, string, spacer)
 /* Print dependency file.  */
 
 void
-print_dependencies ()
+print_dependencies (void)
 {
   FILE *f;
   struct dependency *dep;
@@ -190,10 +188,10 @@ print_dependencies ()
   if (dep_file == NULL)
     return;
 
-  f = fopen (dep_file, "w");
+  f = fopen (dep_file, FOPEN_WT);
   if (f == NULL)
     {
-      as_warn (_("Can't open `%s' for writing"), dep_file);
+      as_warn (_("can't open `%s' for writing"), dep_file);
       return;
     }
 
@@ -205,5 +203,5 @@ print_dependencies ()
   putc ('\n', f);
 
   if (fclose (f))
-    as_warn (_("Can't close `%s'"), dep_file);
+    as_warn (_("can't close `%s'"), dep_file);
 }
This page took 0.03165 seconds and 4 git commands to generate.