From 3.4 branch. Fixes test failure FAIL: g++.dg/abi/empty6.C (test for warnings, line 6) =================================================================== RCS file: /cvs/gcc/gcc/gcc/testsuite/g++.dg/abi/empty6.C,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- gcc/gcc/testsuite/g++.dg/abi/empty6.C 2002/09/25 19:07:35 1.1 +++ gcc/gcc/testsuite/g++.dg/abi/empty6.C 2003/06/03 19:10:09 1.2 @@ -5,4 +5,9 @@ struct B { A a; // { dg-warning "empty" } 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. */