1 /* { dg-options "-std=gnu89 -fms-extensions" } */ 2 /* Enabling Microsoft mode makes all of the tests equivalent. Checked vs 3 Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 12.00.8168 for 80x86 4 */ 5 6 struct A { char a; }; 7 8 struct B { 9 struct A; 10 char b; 11 }; 12 char testB[sizeof(struct B) == 2 * sizeof(struct A) ? 1 : -1]; 13 14 struct C { 15 struct D { char d; }; 16 char c; 17 }; 18 char testC[sizeof(struct C) == 2 * sizeof(struct A) ? 1 : -1]; 19 char testD[sizeof(struct D) == sizeof(struct A) ? 1 : -1]; 20 21 struct E { 22 struct { char z; }; 23 char e; 24 }; 25 char testE[sizeof(struct E) == 2 * sizeof(struct A) ? 1 : -1]; 26 27 typedef struct A typedef_A; 28 struct F { 29 typedef_A; 30 char f; 31 }; 32 char testF[sizeof(struct F) == 2 * sizeof(struct A) ? 1 : -1]; 33