summaryrefslogtreecommitdiff
path: root/packages/gcc/gcc-3.3.3/empty6.patch
diff options
context:
space:
mode:
Diffstat (limited to 'packages/gcc/gcc-3.3.3/empty6.patch')
-rw-r--r--packages/gcc/gcc-3.3.3/empty6.patch21
1 files changed, 21 insertions, 0 deletions
diff --git a/packages/gcc/gcc-3.3.3/empty6.patch b/packages/gcc/gcc-3.3.3/empty6.patch
index e69de29bb2..1b0715cebb 100644
--- a/packages/gcc/gcc-3.3.3/empty6.patch
+++ b/packages/gcc/gcc-3.3.3/empty6.patch
@@ -0,0 +1,21 @@
+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. */