1 /* { dg-options "-O3 -c -fdump-ipa-inline-details -fno-early-inlining -fno-ipa-cp"  } */
2 /* { dg-add-options bind_pic_locally } */
3 
4 void abort (void);
5 int scc_entry (int);
6 int sum;
7 int a[10];
8 int
scc_next(int c)9 scc_next (int c)
10 {
11   int i;
12   for (i=0;i<c;i++)
13     a[i]=c;
14   scc_entry (c);
15 }
16 int
scc_entry(int c)17 scc_entry (int c)
18 {
19   int i;
20   for (i=0;i<c;i++)
21     sum+=a[i];
22   if (c--)
23     scc_next (c);
24   return sum;
25 }
26 int
main()27 main()
28 {
29   int sum;
30   int i;
31   for (i=0;i<10;i++)
32     scc_entry (i);
33   if (sum < 0)
34     abort ();
35   return 0;
36 }
37 /* { dg-final { scan-ipa-dump "in_scc"  "inline"  } } */
38 /* { dg-final { scan-ipa-dump "same_scc"  "inline"  } } */
39 /* Main is not in scc, the two functions are.  */
40 /* { dg-final { scan-ipa-dump-times "In SCC" 2 "inline"  } } */
41