summaryrefslogtreecommitdiff
path: root/lib/std/test/sjlj.myr
blob: 19c210b320c149bb814f96f0e0152d09466d4d18 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
use std

var st

const main = {
	var jb

	st = 1
	if std.setjmp(&jb)
		std.put("nonlocal return\n")
		std.exit(st)
	;;
	st = 0
	std.put("doing jmp\n")
	dolongjmp(&jb)
	std.fatal("unreachable\n")
}

const dolongjmp = {jb
	std.longjmp(jb)
}