aboutsummaryrefslogtreecommitdiff
path: root/gcc/c-opts.c
diff options
context:
space:
mode:
authorMark Mitchell <mark@codesourcery.com>2002-08-27 22:14:51 +0000
committerMark Mitchell <mmitchel@gcc.gnu.org>2002-08-27 22:14:51 +0000
commiteca7f13c6953706b97f6158dcef99f0566f1fbb5 (patch)
treeee767505882b4cd0b13a99e8d37e215ba2dcf0f5 /gcc/c-opts.c
parentc350f8c1c479aabb1bd0a58f4072381d77daca77 (diff)
downloadgcc-eca7f13c6953706b97f6158dcef99f0566f1fbb5.zip
gcc-eca7f13c6953706b97f6158dcef99f0566f1fbb5.tar.gz
gcc-eca7f13c6953706b97f6158dcef99f0566f1fbb5.tar.bz2
c-common.c (warn_abi): New variable.
* c-common.c (warn_abi): New variable. * c-common.h (warn_abi): Likewise. * c-opts.c (COMMAND_LINE_OPTIONS): Add -Wabi. (c_common_decode_option): Handle it. * doc/invoke.texi:P Document -Wabi. * class.c (layout_virtual_bases): Warn about bugs in G++ that result in incorrect object layouts. (layout_class_type): Likewise. * testsuite/g++.dg/abi/bitfield5.C: New test. * testsuite/g++.dg/abi/vbase10.C: Likewise. From-SVN: r56618
Diffstat (limited to 'gcc/c-opts.c')
-rw-r--r--gcc/c-opts.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/gcc/c-opts.c b/gcc/c-opts.c
index bc3ae46..5fb8d11 100644
--- a/gcc/c-opts.c
+++ b/gcc/c-opts.c
@@ -124,6 +124,7 @@ static void sanitize_cpp_opts PARAMS ((void));
OPT("MQ", CL_ALL | CL_ARG, OPT_MQ) \
OPT("MT", CL_ALL | CL_ARG, OPT_MT) \
OPT("P", CL_ALL, OPT_P) \
+ OPT("Wabi", CL_CXX, OPT_Wabi) \
OPT("Wall", CL_ALL, OPT_Wall) \
OPT("Wbad-function-cast", CL_C, OPT_Wbad_function_cast) \
OPT("Wcast-qual", CL_ALL, OPT_Wcast_qual) \
@@ -684,6 +685,10 @@ c_common_decode_option (argc, argv)
cpp_opts->no_line_commands = 1;
break;
+ case OPT_Wabi:
+ warn_abi = on;
+ break;
+
case OPT_Wall:
set_Wunused (on);
set_Wformat (on);