OSDN Git Service

Fix PR c++/42713
authordodji <dodji@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 28 Jan 2010 12:29:52 +0000 (12:29 +0000)
committerdodji <dodji@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 28 Jan 2010 12:29:52 +0000 (12:29 +0000)
commit7feec18988e4d3b2b4076b77ceb4405ec57cd9d8
treeabd78a9e6d9ecdd9290f22ee3b6236af0f660b1a
parent08d10a299c51cbebb9d67e5d1b71627c8a03570a
Fix PR c++/42713

gcc/cp/ChangeLog:
PR c++/42713
PR c++/42820
* typeck.c (get_template_parms_of_dependent_type): Factorized
this out of incompatible_template_type_parms_p
(incompatible_dependent_types_p): Renamed
incompatible_template_type_parms_p into this. Make it detect
two incompatible dependent typedefs too.
(structural_comptypes): Use incompatible_dependent_types_p.
* pt.c (get_template_info):
Handle BOUND_TEMPLATE_TEMPLATE_PARAM.

gcc/testsuite/ChangeLog:
PR c++/42713
PR c++/42820
* g++.dg/template/typedef27.C: New test case.
* g++.dg/template/typedef28.C: New test case.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@156316 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/cp/ChangeLog
gcc/cp/cp-tree.h
gcc/cp/pt.c
gcc/cp/typeck.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/template/typedef27.C [new file with mode: 0644]
gcc/testsuite/g++.dg/template/typedef28.C [new file with mode: 0644]
gcc/testsuite/g++.dg/template/typedef29.C [new file with mode: 0644]