aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/testsuite/ChangeLog13
-rw-r--r--gcc/testsuite/g++.dg/ext/stmtexpr4.C8
-rw-r--r--gcc/testsuite/g++.dg/parse/crash24.C6
-rw-r--r--gcc/testsuite/g++.dg/parse/crash25.C10
4 files changed, 37 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 3f850f5..51e4506 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,16 @@
+2005-03-21 Paolo Carlini <pcarlini@suse.de>
+
+ PR c++/20461
+ * g++.dg/parse/crash24.C: New test.
+
+ PR c++/20536
+ * g++.dg/parse/crash25.C: New test.
+
+2005-03-21 Paolo Carlini <pcarlini@suse.de>
+
+ PR c++/20147
+ * g++.dg/ext/stmtexpr4.C: New test.
+
2005-03-20 Roger Sayle <roger@eyesopen.com>
PR middle-end/20539
diff --git a/gcc/testsuite/g++.dg/ext/stmtexpr4.C b/gcc/testsuite/g++.dg/ext/stmtexpr4.C
new file mode 100644
index 0000000..a37c33a
--- /dev/null
+++ b/gcc/testsuite/g++.dg/ext/stmtexpr4.C
@@ -0,0 +1,8 @@
+// PR c++/20147
+// { dg-do compile }
+// { dg-options "" }
+
+void foo()
+{
+ ({x;}); // { dg-error "was not declared" }
+}
diff --git a/gcc/testsuite/g++.dg/parse/crash24.C b/gcc/testsuite/g++.dg/parse/crash24.C
new file mode 100644
index 0000000..fdc4f1e
--- /dev/null
+++ b/gcc/testsuite/g++.dg/parse/crash24.C
@@ -0,0 +1,6 @@
+// PR c++/20461
+// { dg-do compile }
+
+class C; // { dg-error "forward declaration" }
+
+C::C() : f() {} // { dg-error "invalid use|does not have" }
diff --git a/gcc/testsuite/g++.dg/parse/crash25.C b/gcc/testsuite/g++.dg/parse/crash25.C
new file mode 100644
index 0000000..e05ccd7
--- /dev/null
+++ b/gcc/testsuite/g++.dg/parse/crash25.C
@@ -0,0 +1,10 @@
+// PR c++/20536
+// Found by Wolfgang Wieser 03/2005.
+// { do-do compile }
+
+struct yyguts_t
+{
+ class TestScanner* yyextra_r; // { dg-error "forward declaration" }
+};
+
+TestScanner::TestScanner() {} // { dg-error "invalid use" }