summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4>2004-12-23 22:19:54 +0000
committermmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4>2004-12-23 22:19:54 +0000
commit9d56496162288581bc4d5ad4aeee4490e5329dbd (patch)
treee33c82ab70dd83aa67ba4b2ad9ebca2a545e91ad
parenteb78e86fcb113a90a145e55f290dbbb9bfa907ed (diff)
downloadppe42-gcc-9d56496162288581bc4d5ad4aeee4490e5329dbd.tar.gz
ppe42-gcc-9d56496162288581bc4d5ad4aeee4490e5329dbd.zip
PR c++/17595
* parser.c (cp_parser_error): Issue better messages about #pragma in locations where it is not permitted. PR c++/17595 * g++.dg/parse/pragma2.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@92573 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/testsuite/ChangeLog3
-rw-r--r--gcc/testsuite/g++.dg/parse/pragma2.C8
2 files changed, 11 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index e3e6ae7033c..6e3c26251f0 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,5 +1,8 @@
2004-12-23 Mark Mitchell <mark@codesourcery.com>
+ PR c++/17595
+ * g++.dg/parse/pragma2.C: New test.
+
* g++.dg/opt/temp1.C: Make memcpy actually copy bytes.
2004-12-23 Alexandre Oliva <aoliva@redhat.com>
diff --git a/gcc/testsuite/g++.dg/parse/pragma2.C b/gcc/testsuite/g++.dg/parse/pragma2.C
new file mode 100644
index 00000000000..9cab9d88b87
--- /dev/null
+++ b/gcc/testsuite/g++.dg/parse/pragma2.C
@@ -0,0 +1,8 @@
+// PR c++/17595
+
+// Ideally, the #pragma error would come one line further down, but it
+// does not.
+int f(int x, // { dg-error "not allowed here" }
+#pragma interface
+ // The parser gets confused and issues an error on the next line.
+ int y); // { dg-bogus "" "" { xfail *-*-* } }
OpenPOWER on IntegriCloud