blob: 0d26b555669fba0a5e320592d06211d3db280d52 [file] [log] [blame]
/* PR c/83844 */
/* { dg-do compile { target int32plus } } */
/* { dg-options "-O0 -Wall" } */
/* { dg-require-effective-target alloca } */
typedef unsigned long long __u64 __attribute__((aligned(4),warn_if_not_aligned(8)));
void bar (void *, void *, void *);
void
foo (int n)
{
struct A
{
int i1;
int i2;
int i3[n];
__u64 x; /* { dg-warning "in 'struct A' may not be aligned to 8" } */
} __attribute__((aligned (8)));
struct B
{
int i1;
int i2;
long long i3[n];
__u64 x;
} __attribute__((aligned (8)));
struct C
{
int i1;
int i2;
int i3[2 * n];
__u64 x;
} __attribute__((aligned (8)));
struct A a;
struct B b;
struct C c;
bar (&a, &b, &c);
}