/* PR c/53037. */ /* { dg-do compile } */ /* { dg-options "-O0 -Wno-if-not-aligned" } */ typedef unsigned long long __u64 __attribute__((aligned(4),warn_if_not_aligned(8))); struct foo1 { int i1; int i2; int i3; __u64 x; }; struct foo2 { int i1; int i2; int i3; __u64 x; } __attribute__((aligned(8))); struct foo3 { int i1; int i3; __u64 x; }; struct foo4 { int i1; int i2; __u64 x; } __attribute__((aligned(8))); struct foo5 { int i1; int x __attribute__((warn_if_not_aligned(16))); }; struct foo6 { int i1; int x __attribute__((warn_if_not_aligned(16))); } __attribute__((aligned(16))); struct foo7 { int i1; int i2; int i3; int i4; int x __attribute__((warn_if_not_aligned(16))); } __attribute__((aligned(16))); union bar1 { int i1; __u64 x; }; union bar2 { int i1; __u64 x; } __attribute__((aligned(8))); union bar3 { int i1; int x __attribute__((warn_if_not_aligned(16))); }; union bar4 { int i1; int x __attribute__((warn_if_not_aligned(16))); } __attribute__((aligned(16)));