re PR c++/55877 (Anon visibility issues)
authorJason Merrill <jason@redhat.com>
Tue, 25 Feb 2014 21:19:06 +0000 (16:19 -0500)
committerJason Merrill <jason@gcc.gnu.org>
Tue, 25 Feb 2014 21:19:06 +0000 (16:19 -0500)
commit944b63dbc00d4866e40f5ee0b743b2c2f71c0fac
tree8e1328e1336c9af40c2714b3596faa9091015d87
parenta6659b552d17639829425eef63e5a9569049f371
re PR c++/55877 (Anon visibility issues)

PR c++/55877
* decl2.c (no_linkage_error): Handle C++98 semantics.
(reset_type_linkage): Move from decl.c.
(reset_type_linkage_1, reset_type_linkage_2, bt_reset_linkage_1)
(bt_reset_linkage_2, reset_decl_linkage): New.
(tentative_decl_linkage): Factor out of expand_or_defer_fn_1.
(cp_write_global_declarations): Move condition into no_linkage_error.
* decl.c (grokfndecl, grokvardecl): Use no_linkage_error.
* semantics.c (expand_or_defer_fn_1): Factor out
tentative_decl_linkage.
* cp-tree.h: Adjust.

From-SVN: r208157
gcc/cp/ChangeLog
gcc/cp/cp-tree.h
gcc/cp/decl.c
gcc/cp/decl2.c
gcc/cp/semantics.c
gcc/testsuite/g++.dg/abi/anon2.C [new file with mode: 0644]
gcc/testsuite/g++.dg/abi/anon3.C [new file with mode: 0644]
gcc/testsuite/g++.old-deja/g++.oliva/linkage1.C
gcc/testsuite/g++.old-deja/g++.other/anon9.C