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