blob: 4ca7e7c72745f09eb39aace7ebacb6d80cac1e56 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
namespace;
include rt;
// the bump arena: interior pointers, a rewind, and a full bump.
fn main() {
let a = rt.arena_new(32), p, q, r;
p = rt.arena_alloc(a, 4);
p[0] = 7;
q = rt.arena_alloc(a, 4);
rt.put_n(q - p); rt.put_c(' ');
rt.put_n(p[0]); rt.put_c(' ');
rt.put_n(q[0]); rt.put_c(' ');
rt.arena_reset(a);
r = rt.arena_alloc(a, 4);
rt.put_n(r == p); rt.put_c(' ');
rt.put_n(rt.arena_alloc(a, 100) == 0); rt.put_c(10);
rt.free(d*a);
return 0;
}
|