aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason Merrill <jason@redhat.com>2010-02-24 14:26:29 -0500
committerJason Merrill <jason@gcc.gnu.org>2010-02-24 14:26:29 -0500
commit254d1a5a0c690e62e637fe913c00b00c9bec9aed (patch)
tree90a1da922c1d86a932639f410161400228aae693
parent22faf0048fbe3261eafc0ff93bbcdbaa7a8d0df8 (diff)
downloadgcc-254d1a5a0c690e62e637fe913c00b00c9bec9aed.zip
gcc-254d1a5a0c690e62e637fe913c00b00c9bec9aed.tar.gz
gcc-254d1a5a0c690e62e637fe913c00b00c9bec9aed.tar.bz2
class.c (layout_class_type): Don't give -Wabi warning for a bug in a previous ABI version.
* class.c (layout_class_type): Don't give -Wabi warning for a bug in a previous ABI version. From-SVN: r157051
-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 {};