* pt.c (any_template_arguments_need_structural_equality_p):
Robustify.
* g++.dg/template/arg5.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@122685
138bc75d-0d04-0410-961f-
82ee72b054a4
+2007-03-08 Volker Reichelt <reichelt@netcologne.de>
+
+ PR c++/30534
+ * pt.c (any_template_arguments_need_structural_equality_p):
+ Robustify.
+
2007-03-08 Alexandre Oliva <aoliva@redhat.com>
* decl.c (grokdeclarator): Disable warnings for anonymous
for (j = 0; j < TREE_VEC_LENGTH (level); ++j)
{
tree arg = TREE_VEC_ELT (level, j);
- if (TREE_CODE (arg) == TEMPLATE_DECL
+ if (error_operand_p (arg))
+ return true;
+ else if (TREE_CODE (arg) == TEMPLATE_DECL
|| TREE_CODE (arg) == TEMPLATE_TEMPLATE_PARM)
continue;
else if (TYPE_P (arg) && TYPE_STRUCTURAL_EQUALITY_P (arg))
+2007-03-08 Volker Reichelt <reichelt@netcologne.de>
+
+ PR c++/30534
+ * g++.dg/template/arg5.C: New test.
+
2007-03-07 Joseph Myers <joseph@codesourcery.com>
* g++.dg/eh/arm-iwmmxt-unwind.C: New test.
--- /dev/null
+// PR c++/30534
+// { dg-do compile }
+
+template<bool> struct A;
+
+template<int> void foo()
+{
+ A<__builtin_constant_p(.)> a; // { dg-error "template argument" }
+}