This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[committed] Add testcases for PR c/77754
- From: Jakub Jelinek <jakub at redhat dot com>
- To: gcc-patches at gcc dot gnu dot org
- Date: Mon, 25 Feb 2019 23:59:23 +0100
- Subject: [committed] Add testcases for PR c/77754
- Reply-to: Jakub Jelinek <jakub at redhat dot com>
Hi!
All the following testcases were fixed by r266271 aka PR87229 fix
already. I've regtested them on x86_64-linux and i686-linux and committed
to trunk as obvious.
2019-02-25 Jakub Jelinek <jakub@redhat.com>
PR c/77754
* gcc.c-torture/compile/pr77754-1.c: New test.
* gcc.c-torture/compile/pr77754-2.c: New test.
* gcc.c-torture/compile/pr77754-3.c: New test.
* gcc.c-torture/compile/pr77754-4.c: New test.
* gcc.c-torture/compile/pr77754-5.c: New test.
* gcc.c-torture/compile/pr77754-6.c: New test.
--- gcc/testsuite/gcc.c-torture/compile/pr77754-1.c.jj 2019-02-25 17:40:26.652905532 +0100
+++ gcc/testsuite/gcc.c-torture/compile/pr77754-1.c 2019-02-25 17:40:26.652905532 +0100
@@ -0,0 +1,11 @@
+/* PR c/77754 */
+
+int fn3();
+
+void fn4(int[][fn3 ()]);
+
+void fn1() {
+ void fn2(int[][fn3 ()]);
+ int a[10][fn3 ()];
+ fn4 (a);
+}
--- gcc/testsuite/gcc.c-torture/compile/pr77754-2.c.jj 2019-02-25 17:40:26.652905532 +0100
+++ gcc/testsuite/gcc.c-torture/compile/pr77754-2.c 2019-02-25 17:40:26.652905532 +0100
@@ -0,0 +1,10 @@
+/* PR c/77754 */
+
+int fn3();
+
+void (**fn5) (int[][fn3 ()]);
+
+void fn1 () {
+ int a[10][fn3 ()];
+ (**fn5) (a);
+}
--- gcc/testsuite/gcc.c-torture/compile/pr77754-3.c.jj 2019-02-25 17:40:26.651905548 +0100
+++ gcc/testsuite/gcc.c-torture/compile/pr77754-3.c 2019-02-25 17:40:26.651905548 +0100
@@ -0,0 +1,11 @@
+/* PR c/77754 */
+
+int fn3();
+
+typedef void (*fn6) (int[][fn3 ()]);
+fn6 **fn7;
+
+void fn1 () {
+ int a[10][fn3 ()];
+ (**fn7) (a);
+}
--- gcc/testsuite/gcc.c-torture/compile/pr77754-4.c.jj 2019-02-25 17:40:26.652905532 +0100
+++ gcc/testsuite/gcc.c-torture/compile/pr77754-4.c 2019-02-25 17:40:26.652905532 +0100
@@ -0,0 +1,17 @@
+/* PR c/77754 */
+
+int fn3();
+
+typedef void (*fn6) (int[][fn3 ()]);
+struct S {
+ fn6 **fn7;
+ fn6 *fn8;
+ fn6 fn9;
+} s;
+
+void fn1 () {
+ int a[10][fn3 ()];
+ (**s.fn7) (a);
+ (*s.fn8) (a);
+ s.fn9 (a);
+}
--- gcc/testsuite/gcc.c-torture/compile/pr77754-5.c.jj 2019-02-25 17:40:26.652905532 +0100
+++ gcc/testsuite/gcc.c-torture/compile/pr77754-5.c 2019-02-25 17:40:26.652905532 +0100
@@ -0,0 +1,14 @@
+/* PR c/77754 */
+
+int fn3();
+
+void fn4(int[][fn3 ()]);
+void fn4(int x[][fn3 ()])
+{
+}
+
+void fn1() {
+ void fn2(int[][fn3 ()]);
+ int a[10][fn3 ()];
+ fn4 (a);
+}
--- gcc/testsuite/gcc.c-torture/compile/pr77754-6.c.jj 2019-02-25 17:40:26.651905548 +0100
+++ gcc/testsuite/gcc.c-torture/compile/pr77754-6.c 2019-02-25 17:40:26.651905548 +0100
@@ -0,0 +1,10 @@
+/* PR c/77754 */
+
+int fn3();
+
+void fn4(int (*)[fn3 ()][fn3 () + 1][fn3 () + 2], struct S { int a[fn3 ()]; } *);
+
+void fn1() {
+ int a[10][fn3 ()][fn3 () + 1][fn3 () + 2];
+ fn4 (a, 0);
+}
Jakub