aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite')
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gcc.dg/pr68533.c68
2 files changed, 73 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 3363c95..da31935 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2015-12-02 Jakub Jelinek <jakub@redhat.com>
+
+ PR c/68533
+ * gcc.dg/pr68533.c: New test.
+
2015-12-01 Richard Sandiford <richard.sandiford@arm.com>
PR tree-optimization/68577
diff --git a/gcc/testsuite/gcc.dg/pr68533.c b/gcc/testsuite/gcc.dg/pr68533.c
new file mode 100644
index 0000000..e1a1f31
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/pr68533.c
@@ -0,0 +1,68 @@
+/* PR c/68533 */
+/* { dg-do compile } */
+/* { dg-options "" } */
+
+struct T { int t; };
+
+void
+f1 (
+ struct S * /* { dg-warning "declared inside parameter list will not be visible outside of this definition or declaration" } */
+ x,
+ struct T *
+ y
+ )
+{
+ y->t = 4;
+}
+
+void
+f2 (
+ struct {int s;} * /* { dg-warning "anonymous struct declared inside parameter list will not be visible outside of this definition or declaration" } */
+ x,
+ struct T *
+ y
+ )
+{
+ y->t = 5;
+}
+
+void
+f3 (
+ const void
+ ) /* { dg-error "'void' as only parameter may not be qualified" } */
+{
+}
+
+void
+f4 (
+ void, /* { dg-error "'void' must be the only parameter" } */
+ ...
+ )
+{
+}
+
+void
+f5 (
+ int
+ x; /* { dg-error "parameter 'x' has just a forward declaration" } */
+ int y
+ )
+{
+}
+
+void
+f6 (
+ int
+ x,
+ void
+ ) /* { dg-error "'void' must be the only parameter" } */
+{
+}
+
+void
+f7 (
+ void, /* { dg-error "'void' must be the only parameter" } */
+ int y
+ )
+{
+}