From d4701f6c1a7673d43ac1687b1c6c856cfbf057cd Mon Sep 17 00:00:00 2001 From: jason Date: Fri, 9 Nov 2012 16:14:37 +0000 Subject: 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 --- include/ChangeLog | 5 +++++ include/demangle.h | 2 ++ 2 files changed, 7 insertions(+) (limited to 'include') diff --git a/include/ChangeLog b/include/ChangeLog index afac33a7aef..ac2b28ed8ff 100644 --- a/include/ChangeLog +++ b/include/ChangeLog @@ -1,3 +1,8 @@ +2012-11-09 Jason Merrill + + * demangle.h (enum demangle_component_type): Add + DEMANGLE_COMPONENT_TAGGED_NAME. + 2012-10-29 Sterling Augustine Cary Coutant 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 }; -- cgit v1.2.3