Fixed by r15-123 (specifically the change to set processing_template_decl when tsubsting UNBOUND_CLASS_TEMPLATE).
PR c++/119378 gcc/testsuite/ChangeLog: * g++.dg/template/friend85.C: New test. --- gcc/testsuite/g++.dg/template/friend85.C | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 gcc/testsuite/g++.dg/template/friend85.C diff --git a/gcc/testsuite/g++.dg/template/friend85.C b/gcc/testsuite/g++.dg/template/friend85.C new file mode 100644 index 00000000000..5cf83911193 --- /dev/null +++ b/gcc/testsuite/g++.dg/template/friend85.C @@ -0,0 +1,16 @@ +// PR c++/119378 + +template<int N> +struct A { + template<class T> + struct B; +}; + +template<class U> +struct C { + template<int N> + template<class T> + friend class A<N>::B; +}; + +template struct C<int>; -- 2.49.0.rc1.37.ge969bc8759