1/* { dg-options "-O3 -c -fdump-ipa-inline-details -fno-early-inlining -fno-ipa-cp"  } */
2/* { dg-add-options bind_pic_locally } */
3
4void abort (void);
5int scc_entry (int);
6int sum;
7int a[10];
8int
9scc_next (int c)
10{
11  int i;
12  for (i=0;i<c;i++)
13    a[i]=c;
14  scc_entry (c);
15}
16int
17scc_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}
26int
27main()
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/* { dg-final { cleanup-ipa-dump "inline" } } */
42