OSDN Git Service

PR c++/13495
authorlerdsuwa <lerdsuwa@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 20 Oct 2004 16:20:50 +0000 (16:20 +0000)
committerlerdsuwa <lerdsuwa@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 20 Oct 2004 16:20:50 +0000 (16:20 +0000)
commitf95fba26fb74b7fd0466b1f7c4e84cc9eac5fc8e
tree36d5919ab016d6c55b8dee09fb15a76c348df75e
parenta158e616cf7a1730278c2ef75f3cdbd51ec7bb8a
PR c++/13495
* decl.c (make_unbound_class_template): Add PARM_LIST parameter.
* cp-tree.h (make_unbound_class_template): Adjust prototype.
* parser.c (cp_parser_lookup_name): Adjust call to
make_unbound_class_template.
(cp_parser_single_declaration): Handle member class of class
template as template friend parsing correctly.
* friend.c (is_friend): Call is_specialization_of_friend for
template friend class.
(make_friend_class): Handle member class of class template as
template friend.
* pt.c (is_specialization_of_friend): Likewise.
(instantiate_class_template): Likewise.
(tsubst): Adjust call to make_unbound_class_template.

* g++.dg/template/memfriend9.C: New test.
* g++.dg/template/memfriend10.C: Likewise.
* g++.dg/template/memfriend11.C: Likewise.
* g++.dg/template/memfriend12.C: Likewise.
* g++.dg/template/memfriend13.C: Likewise.
* g++.dg/template/memfriend14.C: Likewise.
* g++.dg/template/memfriend15.C: Likewise.
* g++.dg/template/memfriend16.C: Likewise.
* g++.dg/template/memfriend17.C: Likewise.
* g++.old-deja/g++.pt/friend44.C: Remove bogus error.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@89335 138bc75d-0d04-0410-961f-82ee72b054a4
17 files changed:
gcc/cp/ChangeLog
gcc/cp/cp-tree.h
gcc/cp/decl.c
gcc/cp/friend.c
gcc/cp/parser.c
gcc/cp/pt.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/template/memfriend10.C [new file with mode: 0644]
gcc/testsuite/g++.dg/template/memfriend11.C [new file with mode: 0644]
gcc/testsuite/g++.dg/template/memfriend12.C [new file with mode: 0644]
gcc/testsuite/g++.dg/template/memfriend13.C [new file with mode: 0644]
gcc/testsuite/g++.dg/template/memfriend14.C [new file with mode: 0644]
gcc/testsuite/g++.dg/template/memfriend15.C [new file with mode: 0644]
gcc/testsuite/g++.dg/template/memfriend16.C [new file with mode: 0644]
gcc/testsuite/g++.dg/template/memfriend17.C [new file with mode: 0644]
gcc/testsuite/g++.dg/template/memfriend9.C [new file with mode: 0644]
gcc/testsuite/g++.old-deja/g++.pt/friend44.C