gcc/cp/ChangeLog:
PR c++/42218
* cxx-pretty-print.c (pp_cxx_unqualified_id): Print only innermost
template arguments.
gcc/testsuite/ChangeLog:
PR c++/42218
* g++.dg/other/error33.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@154972
138bc75d-0d04-0410-961f-
82ee72b054a4
+2009-12-04 Dodji Seketeli <dodji@redhat.com>
+
+ PR c++/42218
+ * cxx-pretty-print.c (pp_cxx_unqualified_id): Print only innermost
+ template arguments.
+
2009-12-03 Jason Merrill <jason@redhat.com>
PR c++/41611
if (CLASS_TYPE_P (t) && CLASSTYPE_USE_TEMPLATE (t))
{
pp_cxx_begin_template_argument_list (pp);
- pp_cxx_template_argument_list (pp, CLASSTYPE_TI_ARGS (t));
+ pp_cxx_template_argument_list (pp, INNERMOST_TEMPLATE_ARGS
+ (CLASSTYPE_TI_ARGS (t)));
pp_cxx_end_template_argument_list (pp);
}
break;
+2009-12-04 Dodji Seketeli <dodji@redhat.com>
+
+ PR c++/42218
+ * g++.dg/other/error33.C: New test.
+
2009-12-03 Jason Merrill <jason@redhat.com>
* g++.dg/abi/guard2.C: Run on *-*-linux* rather than x86-*-*
--- /dev/null
+// Contributed by Dodji Seketeli <dodji@redhat.com>
+// Origin: PR c++/42218
+// { dg-do compile }
+
+template<int> struct A
+{
+ template<int> struct B;
+};
+
+int i = A<0>::B<0>::X::Y; // { dg-error "'A<0>::B<0>::X' has not been declared" }
+