pt.c (more_specialized_class): Increase processing_template_decl while partial ordering.

* pt.c (more_specialized_class): Increase processing_template_decl
	while partial ordering.

From-SVN: r77236
This commit is contained in:
Giovanni Bajo 2004-02-04 11:26:26 +00:00
parent 06effe875c
commit baa4973045
2 changed files with 11 additions and 0 deletions

View File

@ -1,3 +1,8 @@
2003-02-04 Giovanni Bajo <giovannibajo@gcc.gnu.org>
* pt.c (more_specialized_class): Increase processing_template_decl
while partial ordering.
2004-02-03 Mark Mitchell <mark@codesourcery.com>
PR c++/13925

View File

@ -10121,6 +10121,11 @@ more_specialized_class (tree pat1, tree pat2, tree full_args)
tree targs;
int winner = 0;
/* Just like what happens for functions, if we are ordering between
different class template specializations, we may encounter dependent
types in the arguments, and we need our dependency check functions
to behave correctly. */
++processing_template_decl;
targs = get_class_bindings (TREE_VALUE (pat1), TREE_PURPOSE (pat1),
add_outermost_template_args (full_args, TREE_PURPOSE (pat2)));
if (targs)
@ -10130,6 +10135,7 @@ more_specialized_class (tree pat1, tree pat2, tree full_args)
add_outermost_template_args (full_args, TREE_PURPOSE (pat1)));
if (targs)
++winner;
--processing_template_decl;
return winner;
}