diff options
author | Jason Merrill <jason@redhat.com> | 2015-03-19 15:31:48 -0400 |
---|---|---|
committer | Jason Merrill <jason@gcc.gnu.org> | 2015-03-19 15:31:48 -0400 |
commit | 7cb73573606d5b0881b0af778a81b5b9c1569f36 (patch) | |
tree | 1366bd2f145ea6b0f0e6fc74fb3092fea4a40db4 /gcc/recog.c | |
parent | 9b65e171edf31cd83fd075f6ed4f3943ebecc505 (diff) | |
download | gcc-7cb73573606d5b0881b0af778a81b5b9c1569f36.zip gcc-7cb73573606d5b0881b0af778a81b5b9c1569f36.tar.gz gcc-7cb73573606d5b0881b0af778a81b5b9c1569f36.tar.bz2 |
re PR c++/65046 (-Wabi-tag doesn't warn about variables or function return types)
PR c++/65046
Automatically propagate ABI tags to variables and functions
from their (return) type.
* class.c (check_tag): Handle variables and functions.
(mark_or_check_attr_tags): Split out from find_abi_tags_r.
(mark_or_check_tags): Likewise.
(mark_abi_tags): Use it. Rename from mark_type_abi_tags.
(check_abi_tags): Add single argument overload for decls.
Handle inheriting tags for decls.
* mangle.c (write_mangled_name): Call it.
(mangle_return_type_p): Split out from write_encoding.
(unmangled_name_p): Split out from write_mangled_name.
(write_mangled_name): Ignore abi_tag on namespace.
* cp-tree.h (NAMESPACE_IS_INLINE): Replace NAMESPACE_ABI_TAG.
* parser.c (cp_parser_namespace_definition): Set it.
* name-lookup.c (handle_namespace_attrs): Use arguments. Warn
about abi_tag attribute on non-inline namespace.
* tree.c (check_abi_tag_args): Split out from handle_abi_tag_attribute.
(handle_abi_tag_attribute): Allow tags on variables.
From-SVN: r221521
Diffstat (limited to 'gcc/recog.c')
0 files changed, 0 insertions, 0 deletions