c-decl.c (define_label): Call warning_with_file_and_line and error_with_file_and_line...
authorKaveh R. Ghazi <ghazi@caip.rutgers.edu>
Tue, 29 Aug 2000 17:34:26 +0000 (17:34 +0000)
committerKaveh Ghazi <ghazi@gcc.gnu.org>
Tue, 29 Aug 2000 17:34:26 +0000 (17:34 +0000)
* c-decl.c (define_label): Call warning_with_file_and_line and
error_with_file_and_line instead of plain warning or error.

* c-parse.in (label): Use save_filename/save_lineno to ensure
correct values for calls to define_label.

From-SVN: r36040

gcc/ChangeLog
gcc/c-decl.c
gcc/c-parse.in

index b054ac6f33b3c59f403b2db1cbeaaf7130889f48..add224b1c282e688c3f050580526f31a1a9c6f7f 100644 (file)
@@ -1,3 +1,11 @@
+2000-08-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * c-decl.c (define_label): Call warning_with_file_and_line and
+       error_with_file_and_line instead of plain warning or error.
+
+       * c-parse.in (label): Use save_filename/save_lineno to ensure
+       correct values for calls to define_label.
+
 2000-08-29  Mark Mitchell  <mark@codesourcery.com>
 
        * calls.c (expand_call): Don't create a VAR_DECL just to throw it
index 5404a4ffbe27b103cd00c251d3def668f5e7e11b..545ac880d98f30a501e9b4f6b35cfd0131bd2f79 100644 (file)
@@ -2747,12 +2747,14 @@ define_label (filename, line, name)
     }
 
   if (warn_traditional && !in_system_header && lookup_name (name))
-    warning ("traditional C lacks a separate namespace for labels, identifier `%s' conflicts",
-            IDENTIFIER_POINTER (name));
+    warning_with_file_and_line (filename, line,
+                               "traditional C lacks a separate namespace for labels, identifier `%s' conflicts",
+                               IDENTIFIER_POINTER (name));
 
   if (DECL_INITIAL (decl) != 0)
     {
-      error ("duplicate label `%s'", IDENTIFIER_POINTER (name));
+      error_with_file_and_line (filename, line, "duplicate label `%s'",
+                               IDENTIFIER_POINTER (name));
       return 0;
     }
   else
index 469cb5f336e8651a3451d78904ef8a5ac10c190f..588faeb41a188042e17a9b93cacb47bf54c82f6a 100644 (file)
@@ -1951,14 +1951,14 @@ label:    CASE expr_no_commas ':'
                  genrtl_case_label(CASE_LOW(case_label_tree), CASE_HIGH(case_label_tree));
                  position_after_white_space ();
                }
-       | identifier ':' maybe_attribute
-               { tree label = define_label (input_filename, lineno, $1);
+       | identifier ':' save_filename save_lineno maybe_attribute
+               { tree label = define_label ($3, $4, $1);
                  stmt_count++;
                  emit_nop ();
                  if (label)
                    {
                      expand_label (label);
-                     decl_attributes (label, $3, NULL_TREE);
+                     decl_attributes (label, $5, NULL_TREE);
                    }
                  position_after_white_space (); }
        ;