blob: fecf470643fd2866cce3075c0cc1a9bf69076b6d [file] [log] [blame]
// { dg-options "-Wabi" }
struct A {};
struct B {
A a; // { dg-warning "empty" "" { xfail mmix-*-* } }
virtual void f () {}
} __attribute__((aligned(8)));
/* The preceding attribute is necessary on targets with
BIGGEST_ALIGNMENT <= 32 to trigger the warning, as otherwise a 32 bit
offset is split into DECL_FIELD_OFFSET 4 and DECL_FIELD_BIT_OFFSET 0,
and then there is no discrepancy between DECL_FIELD_OFFSET and
byte_position to warn about.
On the other hand 64-bit targets for example, generally need a larger
requested alignment to get the intended warning. */