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()11 EmptyClass::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()23 bool boolFunc() {
24     return true;
25 }
26 
staticBoolFunc(CompositeClass * ptr)27 static bool staticBoolFunc(CompositeClass * ptr) {
28     std::unique_ptr<CompositeClass> up(ptr);
29     (void)up;
30 
31     return boolFunc();
32 }
33 
main(int,char **)34 int 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