111
|
1 /* PR c/71969 */
|
|
2 /* { dg-do compile } */
|
|
3 /* { dg-options "-std=gnu99 -fno-gnu89-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" 12 "einline" } } */
|