annotate gcc/testsuite/gcc.dg/pr47383.c @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents 04ced10e8804
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
111
kono
parents:
diff changeset
1 /* { dg-do run { target fpic } } */
kono
parents:
diff changeset
2 /* { dg-options "-O2 -fPIC" } */
kono
parents:
diff changeset
3
kono
parents:
diff changeset
4 static int heap[2*(256 +1+29)+1];
kono
parents:
diff changeset
5 static int heap_len;
kono
parents:
diff changeset
6 static int heap_max;
kono
parents:
diff changeset
7 void
kono
parents:
diff changeset
8 __attribute__ ((noinline))
kono
parents:
diff changeset
9 foo (int elems)
kono
parents:
diff changeset
10 {
kono
parents:
diff changeset
11 int n, m;
kono
parents:
diff changeset
12 int max_code = -1;
kono
parents:
diff changeset
13 int node = elems;
kono
parents:
diff changeset
14 heap_len = 0, heap_max = (2*(256 +1+29)+1);
kono
parents:
diff changeset
15 for (n = 0; n < elems; n++)
kono
parents:
diff changeset
16 heap[++heap_len] = max_code = n;
kono
parents:
diff changeset
17 do {
kono
parents:
diff changeset
18 n = heap[1];
kono
parents:
diff changeset
19 heap[1] = heap[heap_len--];
kono
parents:
diff changeset
20 m = heap[1];
kono
parents:
diff changeset
21 heap[--heap_max] = n;
kono
parents:
diff changeset
22 heap[--heap_max] = m;
kono
parents:
diff changeset
23 } while (heap_len >= 2);
kono
parents:
diff changeset
24 }
kono
parents:
diff changeset
25
kono
parents:
diff changeset
26 int
kono
parents:
diff changeset
27 main ()
kono
parents:
diff changeset
28 {
kono
parents:
diff changeset
29 foo (286);
kono
parents:
diff changeset
30 return 0;
kono
parents:
diff changeset
31 }