diff options
author | Mark Mitchell <mark@codesourcery.com> | 2002-09-23 09:22:17 +0000 |
---|---|---|
committer | Mark Mitchell <mmitchel@gcc.gnu.org> | 2002-09-23 09:22:17 +0000 |
commit | 2d3e278d62b7568a5a4b775dc42c74f051cd1edb (patch) | |
tree | 1a0a4c88a7ec146d17c908d2c4246c6c718372b8 /gcc/c-opts.c | |
parent | d4e81c8598c969b31734b38a2f1dfcf563725c5b (diff) | |
download | gcc-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-opts.c')
-rw-r--r-- | gcc/c-opts.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/c-opts.c b/gcc/c-opts.c index ce4b910..4d9e3d2 100644 --- a/gcc/c-opts.c +++ b/gcc/c-opts.c @@ -188,6 +188,7 @@ static void sanitize_cpp_opts PARAMS ((void)); OPT("Wwrite-strings", CL_ALL, OPT_Wwrite_strings) \ OPT("ansi", CL_ALL, OPT_ansi) \ OPT("d", CL_ALL | CL_JOINED, OPT_d) \ + OPT("fabi-version=", CL_CXX | CL_JOINED, OPT_fabi_version) \ OPT("faccess-control", CL_CXX, OPT_faccess_control) \ OPT("fall-virtual", CL_CXX, OPT_fall_virtual) \ OPT("falt-external-templates",CL_CXX, OPT_falt_external_templates) \ @@ -342,6 +343,7 @@ missing_arg (opt_index) { case OPT_Wformat_eq: case OPT_d: + case OPT_fabi_version: case OPT_fbuiltin_: case OPT_fdump: case OPT_fname_mangling: @@ -1014,6 +1016,10 @@ c_common_decode_option (argc, argv) warning ("switch \"%s\" is no longer supported", argv[0]); break; + case OPT_fabi_version: + flag_abi_version = read_integral_parameter (arg, argv[0], 1); + break; + case OPT_faccess_control: flag_access_control = on; break; |