wo_prof_escape_substr_value.c: Limit allocation based on STACK_SIZE.
[gcc.git] / gcc / testsuite / gcc.dg / struct / w_prof_global_var.c
1 #include <stdlib.h>
2 typedef struct
3 {
4 int a;
5 float b;
6 }str_t;
7
8 #ifdef STACK_SIZE
9 #if STACK_SIZE > 8000
10 #define N 1000
11 #else
12 #define N (STACK_SIZE/8)
13 #endif
14 #else
15 #define N 1000
16 #endif
17
18 str_t *p;
19
20 int
21 main ()
22 {
23 int i, sum;
24
25 p = malloc (N * sizeof (str_t));
26 if (p == NULL)
27 return 0;
28 for (i = 0; i < N; i++)
29 p[i].b = i;
30
31 for (i = 0; i < N; i++)
32 p[i].a = p[i].b + 1;
33
34 for (i = 0; i < N; i++)
35 if (p[i].a != p[i].b + 1)
36 abort ();
37
38 return 0;
39 }
40
41 /*--------------------------------------------------------------------------*/
42 /* { dg-final-use { scan-ipa-dump "Number of structures to transform is 1" "ipa_struct_reorg" { xfail { "avr-*-*" } } } } */
43 /* { dg-final-use { cleanup-ipa-dump "*" } } */