* g++.dg/ipa/devirt-39.C: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214209
138bc75d-0d04-0410-961f-
82ee72b054a4
--- /dev/null
+// PR c++/61214
+/* { dg-options "-O2 -fdump-tree-optimized" } */
+
+struct Base
+{
+ virtual ~Base();
+ virtual Base* clone() {
+ return 0;
+ }
+};
+
+struct Foo : Base
+{
+ virtual ~Foo();
+ virtual Base* clone() {
+ return new Foo();
+ }
+};
+
+int main()
+{
+ Base* f = new Foo();
+ f->clone();
+ return 0;
+}
+
+/* { dg-final { scan-tree-dump-not "OBJ_TYPE_REF" "optimized" } } */
+/* { dg-final { scan-assembler-not "_ZN3Foo5cloneEv" } } */
+/* { dg-final { cleanup-tree-dump "optimized" } } */