PR c++/4403
authorlerdsuwa <lerdsuwa@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 14 Mar 2005 14:51:25 +0000 (14:51 +0000)
committerlerdsuwa <lerdsuwa@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 14 Mar 2005 14:51:25 +0000 (14:51 +0000)
commitf4f11c207e40e09149528b28f588769f5e946bee
treeebe96dca1d08f5e123696a21d05cb1a03baaae0f
parent3def96535d1c2f8a94d9d970a18a5654e66c91de
PR c++/4403
PR c++/9783, DR433
* name-lookup.c (pushtag): Skip template parameter scope when
scope is ts_global.  Don't push tag into template parameter
scope.
* pt.c (instantiate_class_template): Reorder friend class
template substitution to handle non-dependent friend class
that hasn't been previously declared.

* g++.dg/template/friend34.C: New test.
* g++.dg/template/friend35.C: Likewise.
* g++.old-deja/g++.pt/inherit2.C: Remove XFAIL's.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@96432 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/cp/ChangeLog
gcc/cp/name-lookup.c
gcc/cp/pt.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/template/friend34.C [new file with mode: 0644]
gcc/testsuite/g++.dg/template/friend35.C [new file with mode: 0644]
gcc/testsuite/g++.old-deja/g++.pt/inherit2.C