testsuite updated to reflect recent changes in codegen: branch support

This commit is contained in:
Konstantin Anisimov
2016-10-28 16:43:37 +03:00
committed by vvlevchenko
parent 76ee79adc0
commit 3c68ee4ce5
14 changed files with 149 additions and 4 deletions
@@ -0,0 +1,10 @@
extern void *resolve_symbol(const char*);
int
run_test() {
int (*advanced_when2)(int) = resolve_symbol("kfun:advanced_when2");
if (advanced_when2(2) != 3) return 1;
return 0;
}
@@ -0,0 +1,11 @@
fun advanced_when2(i: Int): Int {
var value = 1
when (i) {
10 -> {val v = 42; value = v}
// 11 -> {val v = 43; value = v}
// 12 -> {val v = 44; value = v}
}
return value
}
@@ -0,0 +1,10 @@
extern void *resolve_symbol(const char*);
int
run_test() {
int (*advanced_when5)(int) = resolve_symbol("kfun:advanced_when5");
if (advanced_when5(2) != 3) return 1;
return 0;
}
@@ -0,0 +1,10 @@
fun advanced_when5(i: Int): Int {
when (i) {
0 -> { val v = 42; return v}
1 -> { val v = 42; return v}
2 -> { val v = 42; return v}
3 -> { val v = 42; return v}
4 -> { val v = 42; return v}
else -> return 24
}
}
@@ -0,0 +1,10 @@
extern void *resolve_symbol(const char*);
int
run_test() {
int (*if_else)(int) = resolve_symbol("kfun:if_else");
if (if_else(0) != 24) return 1;
return 0;
}
@@ -0,0 +1,4 @@
fun if_else(b: Boolean): Int {
if (b) return 42
else return 24
}
@@ -0,0 +1,10 @@
extern void *resolve_symbol(const char*);
int
run_test() {
int (*when2)(int) = resolve_symbol("kfun:when2");
if (when2(0) != 42) return 1;
return 0;
}
@@ -0,0 +1,6 @@
fun when2(i: Int): Int {
when (i) {
0 -> return 42
else -> return 24
}
}
@@ -0,0 +1,10 @@
fun when5(i: Int): Int {
when (i) {
0 -> return 42
1 -> return 4
2 -> return 3
3 -> return 2
4 -> return 1
}
return 24
}
@@ -0,0 +1,10 @@
extern void *resolve_symbol(const char*);
int
run_test() {
int (*when5)(int) = resolve_symbol("kfun:when5");
if (when5(2) != 3) return 1;
return 0;
}
@@ -0,0 +1,10 @@
fun when5(i: Int): Int {
when (i) {
0 -> return 42
1 -> return 4
2 -> return 3
3 -> return 2
4 -> return 1
else -> return 24
}
}
@@ -0,0 +1,10 @@
extern void *resolve_symbol(const char*);
int
run_test() {
int (*when_through)(int) = resolve_symbol("kfun:when_through");
if (when_through(2) != 3) return 1;
return 0;
}
@@ -0,0 +1,10 @@
fun when_through(i: Int): Int {
var value = 1
when (i) {
10 -> value = 42
11 -> value = 43
12 -> value = 44
}
return value
}