2019-08-30 Jakub Jelinek <jakub@redhat.com>
Backported from mainline
+ 2018-10-20 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/87647
+ * varasm.c (decode_addr_const): Handle COMPOUND_LITERAL_EXPR.
+
2018-10-19 Jakub Jelinek <jakub@redhat.com>
PR middle-end/85488
2019-08-30 Jakub Jelinek <jakub@redhat.com>
Backported from mainline
+ 2018-10-20 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/87647
+ * gcc.c-torture/compile/pr87647.c: New test.
+
2018-10-19 Jakub Jelinek <jakub@redhat.com>
PR middle-end/85488
--- /dev/null
+/* PR middle-end/87647 */
+
+struct A {};
+struct A *const b = &(struct A) {};
+struct B { char *s; struct A *t; };
+void bar (struct B *);
+
+void
+foo (void)
+{
+ struct B a[] = { "", b, "", b, "", b, "", b, "", b, "", b, "", b, "", b,
+ "", b, "", b, "", b, "", b, "", b, "", b, "", b, "", b,
+ "", b };
+ bar (a);
+}
x = output_constant_def (target, 1);
break;
+ case COMPOUND_LITERAL_EXPR:
+ gcc_assert (COMPOUND_LITERAL_EXPR_DECL (target));
+ x = DECL_RTL (COMPOUND_LITERAL_EXPR_DECL (target));
+ break;
+
default:
gcc_unreachable ();
}