summaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/parse/semicolon4.C
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/g++.dg/parse/semicolon4.C')
-rw-r--r--gcc/testsuite/g++.dg/parse/semicolon4.C37
1 files changed, 37 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.dg/parse/semicolon4.C b/gcc/testsuite/g++.dg/parse/semicolon4.C
new file mode 100644
index 000000000..adba7a873
--- /dev/null
+++ b/gcc/testsuite/g++.dg/parse/semicolon4.C
@@ -0,0 +1,37 @@
+// PR c++/46890
+// { dg-do compile }
+
+struct OK1
+{
+ int i;
+} const *ok1_var; // No complains
+
+struct OK2;
+extern OK2 ok2a_var;
+
+struct OK2
+{
+ int i;
+} const &ok2_var = ok2a_var; // No complains
+
+struct OK3
+{
+ int i;
+} volatile (ok3_var); // No complains
+
+struct E1
+{
+ int i;
+} const; // { dg-error "qualifiers can only be specified for objects and functions" }
+
+void foo (
+struct E2
+{ // { dg-error "types may not be defined in parameter types" }
+ int i;
+} volatile);
+
+void bar (
+struct E3
+{ // { dg-error "types may not be defined in parameter types" }
+ int i;
+} const, int);