diff --git a/gcc/cp/pt.cc b/gcc/cp/pt.cc index cb3164d4914..769e7999dac 100644 --- a/gcc/cp/pt.cc +++ b/gcc/cp/pt.cc @@ -7951,7 +7951,9 @@ coerce_template_template_parm (tree parm, tree arg, tsubst_flags_t complain, i.e. the parameter list of TT depends on earlier parameters. */ if (!uses_template_parms (TREE_TYPE (arg))) { + ++processing_template_decl; tree t = tsubst (TREE_TYPE (parm), outer_args, complain, in_decl); + --processing_template_decl; if (!uses_template_parms (t) && !same_type_p (t, TREE_TYPE (arg))) return false; diff --git a/gcc/testsuite/g++.dg/template/ttp44.C b/gcc/testsuite/g++.dg/template/ttp44.C new file mode 100644 index 00000000000..2a412975243 --- /dev/null +++ b/gcc/testsuite/g++.dg/template/ttp44.C @@ -0,0 +1,13 @@ +// PR c++/96097 +// { dg-do compile } + +template