[Bug c++/26757] C++ front-end producing two DECLs with the same UID
------- Comment #28 from jakub at gcc dot gnu dot org 2006-06-13 09:21 -------
Subject: Bug 26757
Author: jakub
Date: Tue Jun 13 09:21:30 2006
New Revision: 114607
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=114607
Log:
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.
Added:
trunk/gcc/testsuite/g++.dg/tree-ssa/pr26757.C
trunk/gcc/testsuite/g++.dg/tree-ssa/pr27894.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/cp-gimplify.c
trunk/gcc/cp/cp-tree.h
trunk/gcc/cp/decl.c
trunk/gcc/cp/name-lookup.c
trunk/gcc/testsuite/ChangeLog
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26757
------- You are receiving this mail because: -------
You reported the bug, or are watching the reporter.
Reply to: