LWG 3035. std::allocator's constructors should be constexpr
[official-gcc.git] / gcc / testsuite / gcc.dg / ipa / iinline-cstagg-1.c
blob8656cb336fa794232d3a8b7daf0223ed93c84ae8
1 /* { dg-do compile } */
2 /* { dg-options "-O3 -fdump-ipa-inline-details -fno-early-inlining -fno-ipa-sra -fno-ipa-cp" } */
4 typedef struct S
6 int add_offset;
7 int (*call)(int);
8 } S;
10 static int
11 bar (const S *f, int x)
13 x = f->call(x);
14 return x;
17 static int
18 thisisthetarget (int x)
20 return x * x;
23 static const S s = {16, thisisthetarget};
25 int
26 outerfunction (int x)
28 return bar (&s, x);
31 int
32 obfuscate (int x)
34 return bar ((S *) 0, x);
37 /* { dg-final { scan-ipa-dump "thisisthetarget\[^\\n\]*inline copy in outerfunction" "inline" } } */