diff options
author | jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4> | 2012-11-09 16:14:37 +0000 |
---|---|---|
committer | jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4> | 2012-11-09 16:14:37 +0000 |
commit | d4701f6c1a7673d43ac1687b1c6c856cfbf057cd (patch) | |
tree | af7983d092e390f212209b62a57e8d2eac7d8be6 /include/demangle.h | |
parent | bd7fb1f355568e00bec66b46bc3670fbcd007edb (diff) | |
download | gcc-d4701f6c1a7673d43ac1687b1c6c856cfbf057cd.tar.gz |
Add C++ attribute abi_tag and -Wabi-tag option.
gcc/
* attribs.c (lookup_attribute_spec): Handle getting a TREE_LIST.
gcc/c-family/
* c.opt (Wabi-tag): New.
gcc/cp/
* tree.c (cxx_attribute_table): Add abi_tag attribute.
(check_abi_tag_redeclaration, handle_abi_tag_attribute): New.
* class.c (find_abi_tags_r, check_abi_tags): New.
(check_bases, check_field_decl): Call check_abi_tags.
* decl.c (redeclaration_error_message): Call
check_abi_tag_redeclaration.
* mangle.c (tree_string_cmp, write_abi_tags): New.
(write_unqualified_name): Call write_abi_tags.
include/
* demangle.h (enum demangle_component_type): Add
DEMANGLE_COMPONENT_TAGGED_NAME.
libiberty/
* cp-demangle.c (d_dump): Handle DEMANGLE_COMPONENT_TAGGED_NAME.
(d_make_comp, d_find_pack, d_print_comp): Likewise.
(d_abi_tags): New.
(d_name): Call it.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193367 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'include/demangle.h')
-rw-r--r-- | include/demangle.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/include/demangle.h b/include/demangle.h index 5da79d85221..ed019500393 100644 --- a/include/demangle.h +++ b/include/demangle.h @@ -420,6 +420,8 @@ enum demangle_component_type DEMANGLE_COMPONENT_NONTRANSACTION_CLONE, /* A pack expansion. */ DEMANGLE_COMPONENT_PACK_EXPANSION, + /* A name with an ABI tag. */ + DEMANGLE_COMPONENT_TAGGED_NAME, /* A cloned function. */ DEMANGLE_COMPONENT_CLONE }; |