diff options
Diffstat (limited to 'tests/programs/trace_run.zc')
| -rw-r--r-- | tests/programs/trace_run.zc | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/tests/programs/trace_run.zc b/tests/programs/trace_run.zc new file mode 100644 index 0000000..1d42e26 --- /dev/null +++ b/tests/programs/trace_run.zc @@ -0,0 +1,36 @@ +namespace; +include rt; + +int get(word t, int i) { + if (i >= 4) rt.oob(i, 4); return t[i]; +} + +int sum(word t, int n) { + int s = 0, i = 0; + while (i < n) { + s = s + get(t, i); + i++; + } + return s; +} + +int where() { + rt.trace(); + return 1; +} + +int outer() { + int r = where(); + return r; +} + +int main() { + word t = rt.new(4); + t[0] = 1; t[1] = 2; t[2] = 3; t[3] = 4; + rt.put_n(outer()); + rt.put_c(10); + rt.put_n(sum(t, 4)); + rt.put_c(10); + rt.put_n(sum(t, 5)); + return 0; +} |
