* semantics.c (finish_pseudo_destructor_expr): Handle
object == error_mark_node.
* g++.dg/template/pseudodtor4.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130087
138bc75d-0d04-0410-961f-
82ee72b054a4
+2007-11-11 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/34068
+ * semantics.c (finish_pseudo_destructor_expr): Handle
+ object == error_mark_node.
+
2007-11-10 Jakub Jelinek <jakub@redhat.com>
PR c++/32241
tree
finish_pseudo_destructor_expr (tree object, tree scope, tree destructor)
{
- if (destructor == error_mark_node)
+ if (object == error_mark_node || destructor == error_mark_node)
return error_mark_node;
gcc_assert (TYPE_P (destructor));
+2007-11-11 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/34068
+ * g++.dg/template/pseudodtor4.C: New test.
+
2007-11-10 Jakub Jelinek <jakub@redhat.com>
PR middle-end/34018
--- /dev/null
+// PR c++/34068
+// { dg-do compile }
+
+template <typename> struct A
+{
+ typedef int X;
+ A () { T (). ~X (); } // { dg-error "there are no arguments to|fpermissive|was not declared in this scope" }
+};
+
+A <int> a;