1 /* PR middle-end/27945 */ 2 /* { dg-do run } */ 3 /* { dg-options "" } */ 4 5 extern int printf (const char *, ...); 6 extern void abort (); 7 func(int levels)8int func(int levels) 9 { 10 struct bar { 11 unsigned char a; 12 int b[levels]; 13 } __attribute__ ((__packed__)) bar; 14 15 struct foo { 16 unsigned char a; 17 int b[4]; 18 } __attribute__ ((__packed__)) foo; 19 20 printf("foo %d\n", sizeof(foo)); 21 printf("bar %d\n", sizeof(bar)); 22 23 if (sizeof (foo) != sizeof (bar)) 24 abort (); 25 } 26 main()27int main() 28 { 29 func(4); 30 return 0; 31 } 32