re PR c++/18652 (ICE on invalid redeclaration)
authorKriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>
Mon, 29 Nov 2004 14:17:33 +0000 (14:17 +0000)
committerKriang Lerdsuwanakij <lerdsuwa@gcc.gnu.org>
Mon, 29 Nov 2004 14:17:33 +0000 (14:17 +0000)
commitc6f9f83bc8e66feb890dc0c9804b59060b5a108e
tree21a12e4b14b7728e3120b2ee3c55077458e781b7
parent4f70f9d237bd16869e6f6146b3709cbefa3dffe9
re PR c++/18652 (ICE on invalid redeclaration)

PR c++/18652
* name-lookup.c (pushtag): Change return type to tree.
* cp-tree.h (pushtag): Adjust declaration.
* decl.c (xref_tag, start_enum): Use return value of pushtag.
* pt.c (push_template_decl_real): Return immediately if
pushdecl_namespace_level returns error_mark_node.

* g++.dg/lookup/crash6.C: New test.

From-SVN: r91470
gcc/cp/ChangeLog
gcc/cp/cp-tree.h
gcc/cp/decl.c
gcc/cp/name-lookup.c
gcc/cp/pt.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/lookup/crash6.C [new file with mode: 0644]