aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorVeikka Tuominen <git@vexu.eu>2022-09-02 14:05:27 +0300
committerVeikka Tuominen <git@vexu.eu>2022-09-02 17:57:10 +0300
commitdb54cd247ddb8bf7b4225eaaf1e7a851151f8f0b (patch)
tree0fa0f95f5b33a02faa8b46362d0bbd28d6d11d39 /test
parent8b58dab78b8a157a39377654691324dd71f77d23 (diff)
downloadzig-db54cd247ddb8bf7b4225eaaf1e7a851151f8f0b.tar.gz
zig-db54cd247ddb8bf7b4225eaaf1e7a851151f8f0b.zip
Sema: do not emit dbg_inline_end after NoReturn
Closes #12698
Diffstat (limited to 'test')
-rw-r--r--test/standalone.zig2
-rw-r--r--test/standalone/noreturn_call/as_arg.zig8
-rw-r--r--test/standalone/noreturn_call/inline.zig10
3 files changed, 20 insertions, 0 deletions
diff --git a/test/standalone.zig b/test/standalone.zig
index 26af0d5da5..c3fbad5377 100644
--- a/test/standalone.zig
+++ b/test/standalone.zig
@@ -13,6 +13,8 @@ pub fn addCases(cases: *tests.StandaloneContext) void {
cases.add("test/standalone/guess_number/main.zig");
cases.add("test/standalone/main_return_error/error_u8.zig");
cases.add("test/standalone/main_return_error/error_u8_non_zero.zig");
+ cases.add("test/standalone/noreturn_call/inline.zig");
+ cases.add("test/standalone/noreturn_call/as_arg.zig");
cases.addBuildFile("test/standalone/main_pkg_path/build.zig", .{});
cases.addBuildFile("test/standalone/shared_library/build.zig", .{});
cases.addBuildFile("test/standalone/mix_o_files/build.zig", .{});
diff --git a/test/standalone/noreturn_call/as_arg.zig b/test/standalone/noreturn_call/as_arg.zig
new file mode 100644
index 0000000000..08a4f0bd75
--- /dev/null
+++ b/test/standalone/noreturn_call/as_arg.zig
@@ -0,0 +1,8 @@
+const std = @import("std");
+fn foo() noreturn {
+ std.process.exit(0);
+}
+fn bar(_: u8, _: u8) void {}
+pub fn main() void {
+ bar(foo(), @compileError("bad"));
+}
diff --git a/test/standalone/noreturn_call/inline.zig b/test/standalone/noreturn_call/inline.zig
new file mode 100644
index 0000000000..436d97896a
--- /dev/null
+++ b/test/standalone/noreturn_call/inline.zig
@@ -0,0 +1,10 @@
+pub fn main() void {
+ _ = bar();
+}
+inline fn bar() u8 {
+ noret();
+}
+const std = @import("std");
+inline fn noret() noreturn {
+ std.process.exit(0);
+}