patches/gcc/3.3.3/empty6.patch
changeset 1 eeea35fbf182
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/patches/gcc/3.3.3/empty6.patch	Sat Feb 24 11:00:05 2007 +0000
     1.3 @@ -0,0 +1,21 @@
     1.4 +From 3.4 branch.  Fixes test failure
     1.5 +FAIL: g++.dg/abi/empty6.C  (test for warnings, line 6)
     1.6 +
     1.7 +===================================================================
     1.8 +RCS file: /cvs/gcc/gcc/gcc/testsuite/g++.dg/abi/empty6.C,v
     1.9 +retrieving revision 1.1
    1.10 +retrieving revision 1.2
    1.11 +diff -u -r1.1 -r1.2
    1.12 +--- gcc/gcc/testsuite/g++.dg/abi/empty6.C	2002/09/25 19:07:35	1.1
    1.13 ++++ gcc/gcc/testsuite/g++.dg/abi/empty6.C	2003/06/03 19:10:09	1.2
    1.14 +@@ -5,4 +5,9 @@
    1.15 + struct B {
    1.16 +   A a; // { dg-warning "empty" }
    1.17 +   virtual void f () {}
    1.18 +-};
    1.19 ++} __attribute__((aligned(8)));
    1.20 ++/* The preceding attribute is necessary on targets with
    1.21 ++   BIGGEST_ALIGNMENT <= 32 to trigger the warning, as otherwise a 32 bit
    1.22 ++   offset is split into DECL_FIELD_OFFSET 4 and DECL_FIELD_BIT_OFFSET 0,
    1.23 ++   and then there is no discrepancy between DECL_FIELD_OFFSET and
    1.24 ++   byte_position to warn about.  */