1 /* { dg-do run } */ 2 /* { dg-options "-std=c++11 -O3 -fdump-ipa-cp" } */ 3 /* { dg-additional-options "-fPIC" { target fpic } } */ 4 #include <memory> 5 6 class EmptyClass { 7 public: 8 EmptyClass(); 9 }; 10 EmptyClass()11EmptyClass::EmptyClass() { 12 } 13 14 class CompositeClass { 15 public: CompositeClass()16 CompositeClass() {} ~CompositeClass()17 virtual ~CompositeClass() {} 18 EmptyClass object; 19 bool bool1; 20 bool bool2; 21 }; 22 boolFunc()23bool boolFunc() { 24 return true; 25 } 26 staticBoolFunc(CompositeClass * ptr)27static bool staticBoolFunc(CompositeClass * ptr) { 28 std::unique_ptr<CompositeClass> up(ptr); 29 (void)up; 30 31 return boolFunc(); 32 } 33 main(int,char **)34int main(int, char **) { 35 staticBoolFunc(new CompositeClass); 36 return 0; 37 } 38 39 /* { dg-final { scan-ipa-dump "Speculative outer type:struct CompositeClass" "cp" } } */ 40