re PR c++/35578 (Error about misplaced 'friend' word is issued on a wrong line)

PR c++/35578
	* parser.c (cp_parser_decl_specifier_seq): Add location to error
	message.

	* g++.dg/parse/friend8.C: New test.

From-SVN: r133738
This commit is contained in:
Volker Reichelt 2008-03-30 22:02:06 +00:00 committed by Volker Reichelt
parent 39ffbac911
commit adcc62c767
4 changed files with 18 additions and 1 deletions

View file

@ -1,3 +1,9 @@
2008-03-30 Volker Reichelt <v.reichelt@netcologne.de>
PR c++/35578
* parser.c (cp_parser_decl_specifier_seq): Add location to error
message.
2008-03-27 Tom Tromey <tromey@redhat.com>
* Make-lang.in: Revert automatic dependency patch.

View file

@ -8103,7 +8103,7 @@ cp_parser_decl_specifier_seq (cp_parser* parser,
case RID_FRIEND:
if (!at_class_scope_p ())
{
error ("%<friend%> used outside of class");
error ("%H%<friend%> used outside of class", &token->location);
cp_lexer_purge_token (parser->lexer);
}
else

View file

@ -1,5 +1,8 @@
2008-03-30 Volker Reichelt <v.reichelt@netcologne.de>
PR c++/35578
* g++.dg/parse/friend8.C: New test.
PR c/35748
* gcc.dg/union-cast-4.c: New test.

View file

@ -0,0 +1,8 @@
// PR c++/35578
// Check position of error message
// { dg-do compile }
int i;
friend // { dg-error "friend" }
void foo();