aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVolker Reichelt <v.reichelt@netcologne.de>2008-03-30 22:02:06 +0000
committerVolker Reichelt <reichelt@gcc.gnu.org>2008-03-30 22:02:06 +0000
commitadcc62c7677c3bf0a81301d2103e87082a9d7cce (patch)
treea0ece1a81fc9101b0b87bf674ba81381a2d584a8
parent39ffbac9119e258b475386c959ff50af31a270b4 (diff)
downloadgcc-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/ChangeLog6
-rw-r--r--gcc/cp/parser.c2
-rw-r--r--gcc/testsuite/ChangeLog3
-rw-r--r--gcc/testsuite/g++.dg/parse/friend8.C8
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();