Add effective target stack_size
[official-gcc.git] / gcc / testsuite / gcc.dg / tree-prof / pr44777.c
blob1249b5b251d95ceed9568b0c4b9e925124d32401
1 /* PR middle-end/44777 */
2 /* { dg-require-effective-target label_values } */
3 /* { dg-require-effective-target trampolines } */
4 /* { dg-options "-O0" } */
5 /* { dg-additional-options "-DSTACK_SIZE=[dg-effective-target-value stack_size]" { target { stack_size } } } */
7 /* A variant of gcc.c-torture/execute/comp-goto-2.c. */
9 extern void abort (void);
10 extern void exit (int);
12 #ifdef STACK_SIZE
13 #define DEPTH ((STACK_SIZE) / 512 + 1)
14 #else
15 #define DEPTH 1000
16 #endif
18 int
19 x (int a)
21 __label__ xlab;
22 void y (int a)
24 void *x = &&llab;
25 if (a==-1)
26 goto *x;
27 if (a==0)
28 goto xlab;
29 llab:
30 y (a-1);
32 y (a);
33 xlab:;
34 return a;
37 int
38 main ()
41 if (x (DEPTH) != DEPTH)
42 abort ();
44 exit (0);