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:
parent
9949572916
commit
6150b60261
3 changed files with 18 additions and 4 deletions
|
@ -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>
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
11
gcc/testsuite/g++.dg/template/ttp20.C
Normal file
11
gcc/testsuite/g++.dg/template/ttp20.C
Normal 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;
|
Loading…
Add table
Reference in a new issue