aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/ChangeLog2
-rw-r--r--gcc/testsuite/g++.dg/abi/empty6.C7
2 files changed, 8 insertions, 1 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 332ed5b..83e9314 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,5 +1,7 @@
2003-06-03 J"orn Rennecke <joern.rennecke@superh.com>
+ * g++.dg/abi/empty6.C (B): Request alignment of 8 bytes.
+
* gcc.dg/torture/builtin-noret-1.c (_exit, _Exit): Make weak.
* gcc.dg/torture/builtin-noret-2.c (_exit, _Exit): Likewise.
diff --git a/gcc/testsuite/g++.dg/abi/empty6.C b/gcc/testsuite/g++.dg/abi/empty6.C
index aa27273..ab89397 100644
--- a/gcc/testsuite/g++.dg/abi/empty6.C
+++ b/gcc/testsuite/g++.dg/abi/empty6.C
@@ -5,4 +5,9 @@ struct A {};
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. */