diff options
author | Dodji Seketeli <dodji@redhat.com> | 2009-12-19 22:40:37 +0000 |
---|---|---|
committer | Dodji Seketeli <dodji@gcc.gnu.org> | 2009-12-19 23:40:37 +0100 |
commit | e96ce650a83492661331c551dc767179eab5f8b7 (patch) | |
tree | 1dea0c05df1cc3687feff71c23514edde26e0836 /gcc/reload.c | |
parent | b0ce048a3f7a78329145d0f48d63d3cabab8908b (diff) | |
download | gcc-e96ce650a83492661331c551dc767179eab5f8b7.zip gcc-e96ce650a83492661331c551dc767179eab5f8b7.tar.gz gcc-e96ce650a83492661331c551dc767179eab5f8b7.tar.bz2 |
Fix PR c++/42225, take 2
gcc/cp/ChangeLog:
PR c++/42225
* pt.c (push_template_decl_real): Set DECL_CONTEXT of template type
parms to their containing template decl.
* typeck.c (comp_template_parms_position): Split this from
structural_comptypes.
(incompatible_template_type_parms_p): Renamed
incompatible_dependent_typedefs_p into this. Change the function to
handle comparison between TEMPLATE_TYPE_PARMs only.
(structural_comptypes): Use comp_template_parms_position in
TEMPLATE_TEMPLATE_PARM and BOUND_TEMPLATE_TEMPLATE_PARM cases.
Use incompatible_template_type_parms_p in TEMPLATE_TYPE_PARM case.
* mangle.c (decl_mangling_context): Template type parms don't have
a mangling context.
* tree.c (cp_set_underlying_type): Set type structural equality
only for TEMPLATE_TYPE_PARMs.
gcc/testsuite/ChangeLog:
PR c++/42225
* g++.dg/template/typedef26.C: New test.
From-SVN: r155363
Diffstat (limited to 'gcc/reload.c')
0 files changed, 0 insertions, 0 deletions