https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115527
Jakub Jelinek <jakub at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jakub at gcc dot gnu.org --- Comment #7 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Testcase more appropriate for the testsuite: /* PR middle-end/115527 */ struct T { struct S { double a; signed char b; long c; } d[3]; int e; }; int main () { struct T t = { { { 1., 2, 3 }, { 4., 5, 6 }, { 7., 8, 9 } }, 10 }; __builtin_clear_padding (&t); for (int i = 0; i < 3; ++i) if (t.d[i].a != 1. + 3 * i || t.d[i].b != 3 * i + 2 || t.d[i].c != 3 * i + 3) __builtin_abort (); if (t.e != 10) __builtin_abort (); }