aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorKaveh R. Ghazi <ghazi@caip.rutgers.edu>2000-08-29 17:34:26 +0000
committerKaveh Ghazi <ghazi@gcc.gnu.org>2000-08-29 17:34:26 +0000
commit6ad79f1b8b9d061fb3d81b6f950f7115d644f0b6 (patch)
tree2c1ecb13722eae486296a2d1dc7dd617f60201d2 /gcc
parentc00f0fb22b193ad055fc552a9213bd5c1b48f032 (diff)
downloadgcc-6ad79f1b8b9d061fb3d81b6f950f7115d644f0b6.zip
gcc-6ad79f1b8b9d061fb3d81b6f950f7115d644f0b6.tar.gz
gcc-6ad79f1b8b9d061fb3d81b6f950f7115d644f0b6.tar.bz2
c-decl.c (define_label): Call warning_with_file_and_line and error_with_file_and_line instead of plain...
* 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
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog8
-rw-r--r--gcc/c-decl.c8
-rw-r--r--gcc/c-parse.in6
3 files changed, 16 insertions, 6 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index b054ac6..add224b 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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
diff --git a/gcc/c-decl.c b/gcc/c-decl.c
index 5404a4f..545ac88 100644
--- a/gcc/c-decl.c
+++ b/gcc/c-decl.c
@@ -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
diff --git a/gcc/c-parse.in b/gcc/c-parse.in
index 469cb5f..588faeb 100644
--- a/gcc/c-parse.in
+++ b/gcc/c-parse.in
@@ -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 (); }
;