PR c++/37037
* decl.c (grokdeclarator): Don't generate a void PARM_DECL.
From-SVN: r154131
2009-11-12 Jason Merrill <jason@redhat.com>
+ PR c++/37037
+ * decl.c (grokdeclarator): Don't generate a void PARM_DECL.
+
PR c++/42013
* call.c (build_conditional_expr): Check specifically for folding
to CALL_EXPR rather than TREE_SIDE_EFFECTS.
tree decls = NULL_TREE;
tree args;
- for (args = TYPE_ARG_TYPES (type); args; args = TREE_CHAIN (args))
+ for (args = TYPE_ARG_TYPES (type);
+ args && args != void_list_node;
+ args = TREE_CHAIN (args))
{
tree decl = cp_build_parm_decl (NULL_TREE, TREE_VALUE (args));
2009-11-12 Jason Merrill <jason@redhat.com>
+ PR c++/37037
+ * g++.dg/template/typedef21.C: New.
+
PR c++/42013
* g++.dg/cpp0x/decltype19.C: New.
--- /dev/null
+// PR c++/37037
+
+typedef void F(void);
+template <typename T> struct S
+{
+ static F f;
+};
+template class S<int>;
+template <class T> void S<T>::f(void)
+{}
+