PR c++/40373
* call.c (check_dtor_name): Return false even if
get_type_value (name) is error_mark_node.
* g++.dg/template/dtor7.C: New test.
From-SVN: r148284
+2009-06-08 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/40373
+ * call.c (check_dtor_name): Return false even if
+ get_type_value (name) is error_mark_node.
+
2009-06-04 Richard Guenther <rguenther@suse.de>
Backport from mainline
return false;
}
- if (!name)
+ if (!name || name == error_mark_node)
return false;
return same_type_p (TYPE_MAIN_VARIANT (basetype), TYPE_MAIN_VARIANT (name));
}
+2009-06-08 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/40373
+ * g++.dg/template/dtor7.C: New test.
+
2009-06-07 H.J. Lu <hongjiu.lu@intel.com>
Backport from mainline:
--- /dev/null
+// PR c++/40373
+// { dg-compile }
+
+struct A; // { dg-bogus "candidates are" "" { xfail *-*-* } }
+namespace
+{
+ struct A; // { dg-bogus "struct" "" { xfail *-*-* } }
+}
+
+struct B {};
+
+template <typename T> void
+foo (T t)
+{
+ t.~A (); // { dg-error "does not match destructor name" }
+}
+
+void
+bar ()
+{
+ foo (B ()); // { dg-bogus "instantiated from here" "" { xfail *-*-* } }
+}
+
+// { dg-bogus "is ambiguous" "" { xfail *-*-* } 15 }