re PR c++/27424 (Valid template-template-parameter rejected)

PR c++/27424
        * pt.c (convert_template_argument): Pass all template arguments
        on to coerce_template_template_parms.

From-SVN: r115063
This commit is contained in:
Jason Merrill 2006-06-28 21:27:17 -04:00 committed by Jason Merrill
parent 9949572916
commit 6150b60261
3 changed files with 18 additions and 4 deletions

View File

@ -1,3 +1,9 @@
2006-06-28 Jason Merrill <jason@redhat.com>
PR c++/27424
* pt.c (convert_template_argument): Pass all template arguments
on to coerce_template_template_parms.
2006-06-25 Lee Millward <lee.millward@gmail.com>
Mark Mitchell <mark@codesuorcery.com>

View File

@ -3837,11 +3837,8 @@ convert_template_argument (tree parm,
tree in_decl)
{
tree val;
tree inner_args;
int is_type, requires_type, is_tmpl_type, requires_tmpl_type;
inner_args = INNERMOST_TEMPLATE_ARGS (args);
if (TREE_CODE (arg) == TREE_LIST
&& TREE_CODE (TREE_VALUE (arg)) == OFFSET_REF)
{
@ -3933,7 +3930,7 @@ convert_template_argument (tree parm,
if (coerce_template_template_parms (parmparm, argparm,
complain, in_decl,
inner_args))
args))
{
val = arg;

View File

@ -0,0 +1,11 @@
// PR c++/27424
// Bug: failing to substitute the 'int' into C
template<typename T> struct A
{
template<template<T> class> struct B {};
template<T> struct C;
B<C> b;
};
A<int> a;