@@ -7597,7 +7597,7 @@ set_nonincremental_init (struct obstack
FOR_EACH_CONSTRUCTOR_ELT (constructor_elements, ix, index, value)
{
- add_pending_init (index, value, NULL_TREE, false,
+ add_pending_init (index, value, NULL_TREE, true,
braced_init_obstack);
}
constructor_elements = 0;
@@ -7690,7 +7690,7 @@ set_nonincremental_init_from_string (tre
}
value = build_int_cst_wide (type, val[1], val[0]);
- add_pending_init (purpose, value, NULL_TREE, false,
+ add_pending_init (purpose, value, NULL_TREE, true,
braced_init_obstack);
}
@@ -0,0 +1,10 @@
+/* PR c/52880 */
+/* { dg-do compile } */
+/* { dg-options "-Woverride-init" } */
+
+struct A { int a; int b; };
+struct B { struct A c; int d, e; };
+struct B f = { .c.a = 0, .e = 1, .d = 2, .c.b = 3 };
+struct C { int g; int h; };
+struct D { int i; struct C j; int k; };
+struct D l = { .j.g = 0, .k = 1, .i = 2, .j.h = 3 };