33 lines
551 B
C
33 lines
551 B
C
/* PR middle-end/27945 */
|
|
/* { dg-do run } */
|
|
/* { dg-options "" } */
|
|
/* { dg-require-effective-target alloca } */
|
|
|
|
extern int printf (const char *, ...);
|
|
extern void abort ();
|
|
|
|
int func(int levels)
|
|
{
|
|
struct bar {
|
|
unsigned char a;
|
|
int b[levels];
|
|
} __attribute__ ((__packed__)) bar;
|
|
|
|
struct foo {
|
|
unsigned char a;
|
|
int b[4];
|
|
} __attribute__ ((__packed__)) foo;
|
|
|
|
printf("foo %d\n", sizeof(foo));
|
|
printf("bar %d\n", sizeof(bar));
|
|
|
|
if (sizeof (foo) != sizeof (bar))
|
|
abort ();
|
|
}
|
|
|
|
int main()
|
|
{
|
|
func(4);
|
|
return 0;
|
|
}
|