PR debug/63239 Add DWARF representation for C++11 deleted member function.
[official-gcc.git] / gcc / testsuite / g++.dg / ipa / devirt-46.C
bloba6da9c9f62be8a532aa064712025b4ed73e0497d
1 /* { dg-do compile } */
2 /* { dg-options "-O3 -fno-ipa-cp -fdump-ipa-inline-details -fno-early-inlining -fdump-tree-optimized" } */
3 struct A {
4    virtual int foo(){return 1;}
5 };
6 struct B:A {
7    virtual int foo(){return 2;}
8 };
9 static void
10 test (struct A *a)
12   if (a->foo() != 2)
13    __builtin_abort ();
15 int
16 m()
18   struct A *a = new B;
19   test (a);
20   return 0;
23 /* { dg-final { scan-ipa-dump-times "Discovered a virtual call to a speculative target\[^\\n\]*B::foo" 1 "inline"  } } */
24 /* { dg-final { scan-ipa-dump-not "OBJ_TYPE_REF" "optimized"  } } */
25 /* { dg-final { scan-ipa-dump-not "abort" "optimized"  } } */
26 /* { dg-final { cleanup-ipa-dump "inline" } } */
27 /* { dg-final { cleanup-ipa-dump "optimized" } } */