summaryrefslogtreecommitdiff
path: root/test/integration_test.c
diff options
context:
space:
mode:
authorCarlos Maniero <carlos@maniero.me>2023-05-10 00:20:00 -0300
committerCarlos Maniero <carlos@maniero.me>2023-05-10 12:15:01 -0300
commit5de2e1fd9f426348127a66d2c51c300cb90cc3a4 (patch)
tree4dfa61999777227ca35a4d9d092f41996af6d26e /test/integration_test.c
parentad54ee1182b1549880eddc8b1969d3992d9f7f1d (diff)
gas: Generate code for if statement
If statements are now working, the only exception is for the comparators || and && that will be addressed in a further commit. Checks tested: fn main(): i32 { let n: i32 = 11; if (n == 11) { if n != 12 { if n < 12 { if n <= 11 { if n > 10 { if n >= 11 { return 42; } } } } } } return n; } To compile the && and || a precedence issue must be addressed: they must have the highest precedence, witch is not working now: 1 == 2 || 3 != 2 The or should be the higher level of the tree in the example above. Signed-off-by: Carlos Maniero <carlos@maniero.me>
Diffstat (limited to 'test/integration_test.c')
-rw-r--r--test/integration_test.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/test/integration_test.c b/test/integration_test.c
index 4178b42..985e574 100644
--- a/test/integration_test.c
+++ b/test/integration_test.c
@@ -43,6 +43,7 @@ test_examples(const MunitParameter params[], void *user_data_or_fixture)
assert_exit_status("../examples/main.pipa", 69);
assert_exit_status("../examples/arithmetics.pipa", 13);
assert_exit_status("../examples/variables.pipa", 28);
+ assert_exit_status("../examples/if.pipa", 42);
return MUNIT_OK;
}