]> git.ipfire.org Git - thirdparty/gcc.git/commit - gcc/c-family/c.opt
Support -Wabi warning about backward compatibility.
authorJason Merrill <jason@redhat.com>
Thu, 12 Jun 2014 20:47:21 +0000 (16:47 -0400)
committerJason Merrill <jason@gcc.gnu.org>
Thu, 12 Jun 2014 20:47:21 +0000 (16:47 -0400)
commit62984918665f0c82b187293ba762bc2edb32ab92
treec0d0389e8a30820854148e9a086d0b15f452ac9f
parentca0e51a0e5983a68e47b5195b99a8805938ecc26
Support -Wabi warning about backward compatibility.

gcc/c-family/
* c.opt (Wabi=, fabi-compat-version): New.
* c-opts.c (c_common_handle_option): Handle -Wabi=.
(c_common_post_options): Handle flag_abi_compat_version default.
Disallow -fabi-compat-version=1.
* c-common.h (abi_version_crosses): New.
gcc/cp/
* call.c (convert_arg_to_ellipsis): Use abi_version_crosses.
* cvt.c (type_promotes_to): Likewise.
* mangle.c (write_type, write_expression): Likewise.
(write_name, write_template_arg): Likewise.
(mangle_decl): Make alias based on flag_abi_compat_version.
Emit -Wabi warning here.
(finish_mangling_internal): Not here.  Drop warn parm.
(finish_mangling_get_identifier, finish_mangling): Adjust.
(mangle_type_string, mangle_special_for_type): Adjust.
(mangle_ctor_vtbl_for_type, mangle_thunk): Adjust.
(mangle_guard_variable, mangle_tls_init_fn): Adjust.
(mangle_tls_wrapper_fn, mangle_ref_init_variable): Adjust.

From-SVN: r211594
22 files changed:
gcc/c-family/ChangeLog
gcc/c-family/c-common.h
gcc/c-family/c-opts.c
gcc/c-family/c.opt
gcc/cp/ChangeLog
gcc/cp/call.c
gcc/cp/cvt.c
gcc/cp/mangle.c
gcc/doc/invoke.texi
gcc/testsuite/g++.dg/abi/mangle19-1.C
gcc/testsuite/g++.dg/abi/mangle3-2.C
gcc/testsuite/g++.dg/abi/mangle3.C
gcc/testsuite/g++.dg/abi/mangle45.C
gcc/testsuite/g++.dg/abi/mangle49.C
gcc/testsuite/g++.dg/abi/mangle52.C
gcc/testsuite/g++.dg/abi/mangle54.C
gcc/testsuite/g++.dg/abi/mangle57.C
gcc/testsuite/g++.dg/abi/mangle58.C
gcc/testsuite/g++.dg/abi/mangle62.C
gcc/testsuite/g++.dg/abi/mangle62a.C
gcc/testsuite/g++.dg/abi/scoped1.C [new file with mode: 0644]
gcc/testsuite/g++.dg/cpp0x/enum13.C