re PR c++/30112 (pragma redefine_extname fails when namespaces are involved)
authorJason Merrill <jason@redhat.com>
Fri, 22 Jul 2011 19:59:49 +0000 (15:59 -0400)
committerJason Merrill <jason@gcc.gnu.org>
Fri, 22 Jul 2011 19:59:49 +0000 (15:59 -0400)
commit3a636414b2c73cb405796d4faf35640897258413
tree316fb84969a5bd89637c30710f3f154a8baf6605
parent8b9b22755b5c98bfe292f3cf73bba6c53acc47c9
re PR c++/30112 (pragma redefine_extname fails when namespaces are involved)

PR c++/30112
gcc/c-family/
* c-common.h: Declare c_linkage_bindings.
* c-pragma.c (handle_pragma_redefine_extname): Use it.
gcc/
* c-decl.c (c_linkage_bindings): Define.
gcc/cp/
* decl.c (cp_finish_decl): Apply pragma redefine_extname in
other namespaces as well.
* name-lookup.c (c_linkage_bindings): Define.
(lookup_extern_c_fun_in_all_ns): Rename from
lookup_extern_c_fun_binding_in_all_ns.  Return tree.
(pushdecl_maybe_friend_1): Adjust.  Copy DECL_ASSEMBLER_NAME.

Co-Authored-By: Mark Glisse <marc.glisse@normalesup.org>
From-SVN: r176650
gcc/ChangeLog
gcc/c-decl.c
gcc/c-family/ChangeLog
gcc/c-family/c-common.h
gcc/c-family/c-pragma.c
gcc/cp/ChangeLog
gcc/cp/decl.c
gcc/cp/name-lookup.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/other/pragma-re-1.C