| ... | @@ -311,6 +311,26 @@ export fn _start() -> unreachable { | ... | @@ -311,6 +311,26 @@ export fn _start() -> unreachable { |
| 311 | exit(0); | 311 | exit(0); |
| 312 | } | 312 | } |
| 313 | )SOURCE", "OK 1\nOK 2\n"); | 313 | )SOURCE", "OK 1\nOK 2\n"); |
| | 314 | |
| | 315 | add_simple_case("void parameters", R"SOURCE( |
| | 316 | #link("c") |
| | 317 | extern { |
| | 318 | fn puts(s: *const u8) -> i32; |
| | 319 | fn exit(code: i32) -> unreachable; |
| | 320 | } |
| | 321 | |
| | 322 | export fn _start() -> unreachable { |
| | 323 | void_fun(1, void, 2); |
| | 324 | exit(0); |
| | 325 | } |
| | 326 | |
| | 327 | fn void_fun(a : i32, b : void, c : i32) { |
| | 328 | let v = b; |
| | 329 | let vv : void = if (a == 1) {v} else {}; |
| | 330 | if (a + c == 3) { puts("OK"); } |
| | 331 | return vv; |
| | 332 | } |
| | 333 | )SOURCE", "OK\n"); |
| 314 | } | 334 | } |
| 315 | | 335 | |
| 316 | static void add_compile_failure_test_cases(void) { | 336 | static void add_compile_failure_test_cases(void) { |