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
This commit is contained in:
Kaveh R. Ghazi 2000-08-29 17:34:26 +00:00 committed by Kaveh Ghazi
parent c00f0fb22b
commit 6ad79f1b8b
3 changed files with 16 additions and 6 deletions

View 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

View 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

View 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 (); }
;