aboutsummaryrefslogtreecommitdiff
path: root/test/cases/compile_errors/invalid_tail_call.zig
diff options
context:
space:
mode:
authorVeikka Tuominen <git@vexu.eu>2022-08-30 14:04:13 +0300
committerAndrew Kelley <andrew@ziglang.org>2022-08-30 12:22:07 -0700
commit67a44211f7a442d33096cc0dfff059eee9315bc6 (patch)
tree7cdb35205977cab28a9ed8cc5846096d2a57ed4d /test/cases/compile_errors/invalid_tail_call.zig
parent0a42602418dcaf08f13b4220b6c216356f87cbfc (diff)
downloadzig-67a44211f7a442d33096cc0dfff059eee9315bc6.tar.gz
zig-67a44211f7a442d33096cc0dfff059eee9315bc6.zip
Sema: improve handling of always_tail call modifier
Closes #4301 Closes #5692 Closes #6281 Closes #10786 Closes #11149 Closes #11776
Diffstat (limited to 'test/cases/compile_errors/invalid_tail_call.zig')
-rw-r--r--test/cases/compile_errors/invalid_tail_call.zig12
1 files changed, 12 insertions, 0 deletions
diff --git a/test/cases/compile_errors/invalid_tail_call.zig b/test/cases/compile_errors/invalid_tail_call.zig
new file mode 100644
index 0000000000..cdeb9df930
--- /dev/null
+++ b/test/cases/compile_errors/invalid_tail_call.zig
@@ -0,0 +1,12 @@
+fn myFn(_: usize) void {
+ return;
+}
+pub export fn entry() void {
+ @call(.{ .modifier = .always_tail }, myFn, .{0});
+}
+
+// error
+// backend=llvm
+// target=native
+//
+// :5:5: error: unable to perform tail call: type of function being called 'fn(usize) void' does not match type of calling function 'fn() callconv(.C) void'