cpperror.c (cpp_file_line_for_message): If 'line' is zero, just print "<command line>".
authorZack Weinberg <zack@wolery.cumb.org>
Sun, 30 Jan 2000 03:31:59 +0000 (03:31 +0000)
committerZack Weinberg <zack@gcc.gnu.org>
Sun, 30 Jan 2000 03:31:59 +0000 (03:31 +0000)
* cpperror.c (cpp_file_line_for_message): If 'line' is zero,
just print "<command line>".  If 'filename' is null or an
empty string, print "<stdin>" for the filename.
* cpplib.c (do_define): Don't print the 'location of the
previous definition' message if we're still parsing the
command line.
(cpp_pedwarn_with_file_and_line): Always call
cpp_file_line_for_message.

From-SVN: r31697

gcc/ChangeLog
gcc/cpperror.c
gcc/cpplib.c

index 31411bf..8685404 100644 (file)
@@ -1,3 +1,14 @@
+2000-01-29  Zack Weinberg  <zack@wolery.cumb.org>
+
+       * cpperror.c (cpp_file_line_for_message): If 'line' is zero,
+       just print "<command line>".  If 'filename' is null or an
+       empty string, print "<stdin>" for the filename.
+       * cpplib.c (do_define): Don't print the 'location of the
+       previous definition' message if we're still parsing the
+       command line.
+       (cpp_pedwarn_with_file_and_line): Always call
+       cpp_file_line_for_message.
+
 2000-01-29  Mark Mitchell  <mark@codesourcery.com>
 
        * flow.c (mark_regs_live_at_end): Fix typo.
index 40fb26e..d0900e8 100644 (file)
@@ -84,7 +84,11 @@ cpp_file_line_for_message (pfile, filename, line, column)
      const char *filename;
      int line, column;
 {
-  if (column > 0)
+  if (filename == 0 || *filename == '\0')
+    filename = "<stdin>";
+  if (line == 0)
+    fputs (_("<command line>: "), stderr);
+  else if (column > 0)
     fprintf (stderr, "%s:%d:%d: ", filename, line, column);
   else
     fprintf (stderr, "%s:%d: ", filename, line);
index 44134e6..cdfdaa3 100644 (file)
@@ -685,7 +685,7 @@ do_define (pfile, keyword)
                       mdef.symlen, mdef.symnam);
          else
            cpp_pedwarn (pfile, "`%.*s' redefined", mdef.symlen, mdef.symnam);
-         if (hp->type == T_MACRO)
+         if (hp->type == T_MACRO && CPP_OPTIONS (pfile)->done_initializing)
            cpp_pedwarn_with_file_and_line (pfile, hp->value.defn->file,
                                            hp->value.defn->line,
                        "this is the location of the previous definition");
@@ -3474,8 +3474,7 @@ cpp_pedwarn_with_file_and_line VPARAMS ((cpp_reader *pfile, const char *file,
   if (!CPP_OPTIONS (pfile)->pedantic_errors
       && CPP_OPTIONS (pfile)->inhibit_warnings)
     return;
-  if (file != NULL)
-    cpp_file_line_for_message (pfile, file, line, -1);
+  cpp_file_line_for_message (pfile, file, line, -1);
   v_cpp_message (pfile, CPP_OPTIONS (pfile)->pedantic_errors, msgid, ap);
   va_end(ap);
 }