(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
pr71969-3.c
       1  /* PR c/71969 */
       2  /* { dg-do compile } */
       3  /* { dg-options "-std=gnu99 -fgnu89-inline -O2 -fdump-tree-einline-details" } */
       4  
       5  volatile int v;
       6  #define S v++;
       7  #define S10 S S S S S S S S S S
       8  #define S100 S10 S10 S10 S10 S10 S10 S10 S10 S10 S10
       9  
      10  extern inline void
      11  foo (void) { S100 }
      12  
      13  inline void
      14  bar (void) { S100 }
      15  
      16  static inline void
      17  baz (void) { S100 }
      18  
      19  int
      20  main ()
      21  {
      22    foo ();
      23    foo ();
      24    foo ();
      25    foo ();
      26    bar ();
      27    bar ();
      28    bar ();
      29    bar ();
      30    baz ();
      31    baz ();
      32    baz ();
      33    baz ();
      34    return 0;
      35  }
      36  
      37  /* { dg-final { scan-tree-dump-times "will not early inline" 8 "einline" } } */
      38  /* { dg-final { scan-tree-dump-times "Inlining foo/\[0-9\]* into main/\[0-9\]*" 4 "einline" } } */