about summary refs log tree commit diff
path: root/examples/18.src
blob: 29facd56138e782e65102fb04c88569554cbe8c3 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
extern malloc = (i64) => *i64;
extern free = (*i64) => void;

import "!stdlib.src";

let main = () => i64 {
	let x = malloc(24);
	(*(x+0)) = 10;
	(*(x+1)) = 20;
	(*(x+2)) = 40;
	println("%p", x);
	println("%d", *(x+0));
	println("%d", *(x+1));
	println("%d", *(x+2));
	free(x);
	return 0;
};

/*

Expected stdout:

${SOMEPOINTER}
10
20
40

Expected return: 0

*/