r221521 - in /trunk: gcc/cp/ChangeLog gcc/cp/cl...

jason@gcc.gnu.org jason@gcc.gnu.org
Thu Mar 19 19:31:00 GMT 2015


Author: jason
Date: Thu Mar 19 19:31:48 2015
New Revision: 221521

URL: https://gcc.gnu.org/viewcvs?rev=221521&root=gcc&view=rev
Log:
	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.

Modified:
    trunk/libstdc++-v3/ChangeLog
    trunk/libstdc++-v3/config/locale/gnu/messages_members.cc
    trunk/libstdc++-v3/include/bits/c++config
    trunk/libstdc++-v3/src/c++11/cxx11-shim_facets.cc

Changes in other areas also in this revision:
Added:
    trunk/gcc/testsuite/g++.dg/abi/abi-tag14.C
Modified:
    trunk/gcc/cp/ChangeLog
    trunk/gcc/cp/class.c
    trunk/gcc/cp/cp-tree.h
    trunk/gcc/cp/mangle.c
    trunk/gcc/cp/name-lookup.c
    trunk/gcc/cp/parser.c
    trunk/gcc/cp/tree.c
    trunk/gcc/doc/extend.texi
    trunk/gcc/doc/invoke.texi
    trunk/gcc/testsuite/g++.dg/abi/abi-tag1.C
    trunk/gcc/testsuite/g++.dg/abi/abi-tag4.C
    trunk/gcc/testsuite/g++.dg/abi/abi-tag8.C



More information about the Libstdc++-cvs mailing list