diff options
author | Volker Reichelt <v.reichelt@netcologne.de> | 2008-03-30 22:02:06 +0000 |
---|---|---|
committer | Volker Reichelt <reichelt@gcc.gnu.org> | 2008-03-30 22:02:06 +0000 |
commit | adcc62c7677c3bf0a81301d2103e87082a9d7cce (patch) | |
tree | a0ece1a81fc9101b0b87bf674ba81381a2d584a8 | |
parent | 39ffbac9119e258b475386c959ff50af31a270b4 (diff) | |
download | gcc-adcc62c7677c3bf0a81301d2103e87082a9d7cce.zip gcc-adcc62c7677c3bf0a81301d2103e87082a9d7cce.tar.gz gcc-adcc62c7677c3bf0a81301d2103e87082a9d7cce.tar.bz2 |
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
-rw-r--r-- | gcc/cp/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/cp/parser.c | 2 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 3 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/parse/friend8.C | 8 |
4 files changed, 18 insertions, 1 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 9627a53..ac3deb4 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -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. diff --git a/gcc/cp/parser.c b/gcc/cp/parser.c index 35a2fc3..bb16edf 100644 --- a/gcc/cp/parser.c +++ b/gcc/cp/parser.c @@ -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 diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index e7e4b30..515f5fd 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -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. diff --git a/gcc/testsuite/g++.dg/parse/friend8.C b/gcc/testsuite/g++.dg/parse/friend8.C new file mode 100644 index 0000000..aac5f0e --- /dev/null +++ b/gcc/testsuite/g++.dg/parse/friend8.C @@ -0,0 +1,8 @@ +// PR c++/35578 +// Check position of error message +// { dg-do compile } + +int i; + +friend // { dg-error "friend" } + void foo(); |