| // { 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. */ |