Move read_partial_die to partial_die_info::read
[deliverable/binutils-gdb.git] / gas / depend.c
index c6538ddfd0fbe40d1e5c176f20ede5c66fd8a5db..09ef8ae8d5d829a865b89a52c21622a3fc0ff167 100644 (file)
@@ -1,11 +1,11 @@
 /* depend.c - Handle dependency tracking.
 /* depend.c - Handle dependency tracking.
-   Copyright 1997, 1998, 2000 Free Software Foundation, Inc.
+   Copyright (C) 1997-2018 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
 
    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,
    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
 
    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 "as.h"
+#include "filenames.h"
 
 /* The file to write to, or NULL if no dependencies being kept.  */
 
 /* 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.  */
 };
 
 /* 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;
 
 
 /* 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
 
 /* 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
    never called, then dependency tracking is simply skipped.  */
 
 void
-start_dependencies (filename)
-     char *filename;
+start_dependencies (char *filename)
 {
   dep_file = filename;
 }
 {
   dep_file = filename;
 }
@@ -53,8 +54,7 @@ start_dependencies (filename)
 /* Noticed a new filename, so try to register it.  */
 
 void
 /* Noticed a new filename, so try to register it.  */
 
 void
-register_dependency (filename)
-     char *filename;
+register_dependency (const char *filename)
 {
   struct dependency *dep;
 
 {
   struct dependency *dep;
 
@@ -63,11 +63,11 @@ register_dependency (filename)
 
   for (dep = dep_chain; dep != NULL; dep = dep->next)
     {
 
   for (dep = dep_chain; dep != NULL; dep = dep->next)
     {
-      if (!strcmp (filename, dep->file))
+      if (!filename_cmp (filename, dep->file))
        return;
     }
 
        return;
     }
 
-  dep = (struct dependency *) xmalloc (sizeof (struct dependency));
+  dep = XNEW (struct dependency);
   dep->file = xstrdup (filename);
   dep->next = dep_chain;
   dep_chain = dep;
   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
    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;
   int i = 0;
+
   for (;;)
     {
       char c = *p++;
   for (;;)
     {
       char c = *p++;
+
       switch (c)
        {
        case '\0':
       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.  */
               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)
            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++;
          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%*?[\\~";
        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
    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);
 
 {
   int len = quote_string_for_make (NULL, string);
 
@@ -182,7 +180,7 @@ wrap_output (f, string, spacer)
 /* Print dependency file.  */
 
 void
 /* Print dependency file.  */
 
 void
-print_dependencies ()
+print_dependencies (void)
 {
   FILE *f;
   struct dependency *dep;
 {
   FILE *f;
   struct dependency *dep;
@@ -190,10 +188,10 @@ print_dependencies ()
   if (dep_file == NULL)
     return;
 
   if (dep_file == NULL)
     return;
 
-  f = fopen (dep_file, "w");
+  f = fopen (dep_file, FOPEN_WT);
   if (f == NULL)
     {
   if (f == NULL)
     {
-      as_warn (_("Can't open `%s' for writing"), dep_file);
+      as_warn (_("can't open `%s' for writing"), dep_file);
       return;
     }
 
       return;
     }
 
@@ -205,5 +203,5 @@ print_dependencies ()
   putc ('\n', f);
 
   if (fclose (f))
   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.0268080000000001 seconds and 4 git commands to generate.