gcc/cp/ChangeLog:
2008-11-19 Dodji Seketeli <dodji@redhat.com>
PR c++/37142
* pt.c (coerce_template_template_parm): Use the more robust
uses_template_parms instead of dependent_type_p.
gcc/testsuite/ChangeLog/
2008-11-19 Dodji Seketeli <dodji@redhat.com>
PR c++/37142
* g++.dg/template/crash71.C: New test.
From-SVN: r142027
+2008-11-19 Dodji Seketeli <dodji@redhat.com>
+
+ PR c++/37142
+ * pt.c (coerce_template_template_parm): Use the more robust
+ uses_template_parms instead of dependent_type_p.
+
2008-11-14 Jason Merrill <jason@redhat.com>
PR c++/38030
D<int, C> d;
i.e. the parameter list of TT depends on earlier parameters. */
- if (!dependent_type_p (TREE_TYPE (arg))
+ if (!uses_template_parms (TREE_TYPE (arg))
&& !same_type_p
(tsubst (TREE_TYPE (parm), outer_args, complain, in_decl),
TREE_TYPE (arg)))
+2008-11-19 Dodji Seketeli <dodji@redhat.com>
+
+ PR c++/37142
+ * g++.dg/template/crash71.C: New test.
+
2008-11-14 Dodji Seketeli <dodji@redhat.com>
PR c++/27574
--- /dev/null
+// Contributed by Dodji Seketeli <dodji@redhat.com>
+// Origin: PR c++/37142
+// { dg-do compile }
+
+template<typename T, const T a, template <typename U, U u> class W> struct A {};
+
+template<typename T, const T t> struct B {};
+
+int
+main ()
+{
+ A<long, 0, B> a;
+ return 0;
+}
+
+