aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/cp/ChangeLog5
-rw-r--r--gcc/cp/class.c1
-rw-r--r--gcc/testsuite/g++.dg/abi/empty6.C2
3 files changed, 7 insertions, 1 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index c72e7e3..427b3ad 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,8 @@
+2010-02-24 Jason Merrill <jason@redhat.com>
+
+ * class.c (layout_class_type): Don't give -Wabi warning for a bug
+ in a previous ABI version.
+
2010-02-23 Jason Merrill <jason@redhat.com>
PR c++/43143
diff --git a/gcc/cp/class.c b/gcc/cp/class.c
index f7e0a93..1bab07d 100644
--- a/gcc/cp/class.c
+++ b/gcc/cp/class.c
@@ -5044,6 +5044,7 @@ layout_class_type (tree t, tree *virtuals_p)
/* G++ used to use DECL_FIELD_OFFSET as if it were the byte
offset of the field. */
if (warn_abi
+ && !abi_version_at_least (2)
&& !tree_int_cst_equal (DECL_FIELD_OFFSET (field),
byte_position (field))
&& contains_empty_class_p (TREE_TYPE (field)))
diff --git a/gcc/testsuite/g++.dg/abi/empty6.C b/gcc/testsuite/g++.dg/abi/empty6.C
index f786308..1b14a6d 100644
--- a/gcc/testsuite/g++.dg/abi/empty6.C
+++ b/gcc/testsuite/g++.dg/abi/empty6.C
@@ -1,4 +1,4 @@
-// { dg-options "-Wabi" }
+// { dg-options "-Wabi -fabi-version=1" }
struct A {};