| /* { dg-do run { target fpic } } */ |
| /* { dg-options "-O2 -fPIC" } */ |
| |
| static int heap[2*(256 +1+29)+1]; |
| static int heap_len; |
| static int heap_max; |
| void |
| __attribute__ ((noinline)) |
| foo (int elems) |
| { |
| int n, m; |
| int max_code = -1; |
| int node = elems; |
| heap_len = 0, heap_max = (2*(256 +1+29)+1); |
| for (n = 0; n < elems; n++) |
| heap[++heap_len] = max_code = n; |
| do { |
| n = heap[1]; |
| heap[1] = heap[heap_len--]; |
| m = heap[1]; |
| heap[--heap_max] = n; |
| heap[--heap_max] = m; |
| } while (heap_len >= 2); |
| } |
| |
| int |
| main () |
| { |
| foo (286); |
| return 0; |
| } |