aboutsummaryrefslogtreecommitdiff
path: root/gcc/c-common.c
diff options
context:
space:
mode:
authorMark Mitchell <mark@codesourcery.com>2002-09-23 09:22:17 +0000
committerMark Mitchell <mmitchel@gcc.gnu.org>2002-09-23 09:22:17 +0000
commit2d3e278d62b7568a5a4b775dc42c74f051cd1edb (patch)
tree1a0a4c88a7ec146d17c908d2c4246c6c718372b8 /gcc/c-common.c
parentd4e81c8598c969b31734b38a2f1dfcf563725c5b (diff)
downloadgcc-2d3e278d62b7568a5a4b775dc42c74f051cd1edb.zip
gcc-2d3e278d62b7568a5a4b775dc42c74f051cd1edb.tar.gz
gcc-2d3e278d62b7568a5a4b775dc42c74f051cd1edb.tar.bz2
c-common.c (flag_abi_version): New variable.
* c-common.c (flag_abi_version): New variable. * c-common.h (flag_abi_version): Declare it. * c-opts.c (missing_arg): Add -fabi-version. (c_common_decode_option): Process -fabi-version. * doc/invoke.texi (-fabi-version): Document it. (-Wabi): Add information about bit-fields in unions. * cp/class.c (layout_virtual_bases): Do not round the size of the type to a multiple of the alignment before laying out virtual bases. (layout_class_type): Correct handling of bit-fields that are wider than their type inside unions. Round the size of the type to a even number of bytes when computing the size without virtual bases. * cp/cp-tree.h (abi_version_at_least): New macro. * g++.dg/abi/bitfield6.C: New test. * g++.dg/abi/bitfield7.C: New test. * g++.dg/abi/bitfield8.C: New test. * g++.dg/abi/vbase11.C: New test. From-SVN: r57432
Diffstat (limited to 'gcc/c-common.c')
-rw-r--r--gcc/c-common.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/gcc/c-common.c b/gcc/c-common.c
index c85c23c..251a255 100644
--- a/gcc/c-common.c
+++ b/gcc/c-common.c
@@ -567,6 +567,21 @@ int flag_permissive;
int flag_enforce_eh_specs = 1;
+/* The version of the C++ ABI in use. The following values are
+ allowed:
+
+ 0: The version of the ABI believed most conformant with the
+ C++ ABI specification. This ABI may change as bugs are
+ discovered and fixed. Therefore, 0 will not necessarily
+ indicate the same ABI in different versions of G++.
+
+ 1: The version of the ABI first used in G++ 3.2.
+
+ Additional positive integers will be assigned as new versions of
+ the ABI become the default version of the ABI. */
+
+int flag_abi_version = 1;
+
/* Nonzero means warn about things that will change when compiling
with an ABI-compliant compiler. */