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
       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
      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
      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"  } } */