crosstool-ng/patches/gcc/3.3.3/empty6.patch

22 lines
851 B
Diff
Raw Normal View History

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