PR middle-end/27793
authorjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 13 Jun 2006 09:21:30 +0000 (09:21 +0000)
committerjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 13 Jun 2006 09:21:30 +0000 (09:21 +0000)
commit7db5a284b2cd56be9bd6668eeb481861b3a8254f
treedb3fc5592b68d1ca71570ab74208c662419bc2e0
parent45bfe09b3a968312f3e919eb07b2cc569e2cf967
PR middle-end/27793
* cp-tree.h (cxx_int_tree_map): New struct.
(struct language_function): Add extern_decl_map field.
* name-lookup.c (pushdecl_maybe_friend): Add x -> t mapping
to cp_function_chain->extern_decl_map hash table instead of
copying over DECL_UID.
* cp-gimplify.c (cxx_int_tree_map_eq, cxx_int_tree_map_hash): New
functions.
(cp_genericize_r): Remap DECL_EXTERN local decls using
cp_function_chain->extern_decl_map hash table.
* decl.c (finish_function): Clear extern_decl_map.

PR c++/26757
PR c++/27894
* g++.dg/tree-ssa/pr26757.C: New test.
* g++.dg/tree-ssa/pr27894.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@114607 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/cp/ChangeLog
gcc/cp/cp-gimplify.c
gcc/cp/cp-tree.h
gcc/cp/decl.c
gcc/cp/name-lookup.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/tree-ssa/pr26757.C [new file with mode: 0644]
gcc/testsuite/g++.dg/tree-ssa/pr27894.C [new file with mode: 0644]