// #target: macos-x64 module test; import libc; faultdef FOO; macro test() { defer libc::printf("Test2\n"); return FOO?; } fn void main() { defer libc::printf("Test1\n"); libc::printf("%d\n", test() ?? 2); } /* #expect: test.ll define void @test.main() #0 { entry: %blockret = alloca i32, align 4 br label %opt_block_cleanup opt_block_cleanup: ; preds = %entry %0 = call i32 (ptr, ...) @printf(ptr @.str.2) br label %else_block else_block: ; preds = %opt_block_cleanup br label %phi_block phi_block: ; preds = %else_block %1 = call i32 (ptr, ...) @printf(ptr @.str, i32 2) %2 = call i32 (ptr, ...) @printf(ptr @.str.3) ret void }