1 /* { dg-do run } */
2 /* { dg-options "-fipa-pta" } */
3
4 typedef unsigned long ulong;
5
6 int __attribute__((noinline, noclone))
f4(int a,int b,int c,int d,int e)7 f4 (int a, int b, int c, int d, int e)
8 {
9 return a + b + c + d + e;
10 }
11
12 void __attribute__((noinline, noclone))
f3(int * p)13 f3 (int *p)
14 {
15 *p = f4(1, 2, 3, 4, 5);
16 }
17
18 void __attribute__((noinline, noclone))
f2()19 f2 ()
20 {
21 int unused;
22 f3 (&unused);
23 }
24
25 void __attribute__((noinline, noclone))
f1(ulong e,ulong f)26 f1 (ulong e, ulong f)
27 {
28 if (e > 5 || f > 5) __builtin_abort();
29 f2 ();
30 }
31
32
main()33 int main()
34 {
35 ulong e, f;
36 for (e = 5; e > 0; e--)
37 for (f = 5; f > 0; f--)
38 f1(e, f);
39 return 0;
40 }
41
42