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.
From-SVN: r269197
+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.
+
2019-02-25 Tamar Christina <tamar.christina@arm.com>
PR target/88530
--- /dev/null
+/* PR c/77754 */
+
+int fn3();
+
+void fn4(int[][fn3 ()]);
+
+void fn1() {
+ void fn2(int[][fn3 ()]);
+ int a[10][fn3 ()];
+ fn4 (a);
+}
--- /dev/null
+/* PR c/77754 */
+
+int fn3();
+
+void (**fn5) (int[][fn3 ()]);
+
+void fn1 () {
+ int a[10][fn3 ()];
+ (**fn5) (a);
+}
--- /dev/null
+/* PR c/77754 */
+
+int fn3();
+
+typedef void (*fn6) (int[][fn3 ()]);
+fn6 **fn7;
+
+void fn1 () {
+ int a[10][fn3 ()];
+ (**fn7) (a);
+}
--- /dev/null
+/* 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);
+}
--- /dev/null
+/* 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);
+}
--- /dev/null
+/* 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);
+}