aboutsummaryrefslogtreecommitdiff
path: root/lib/compilers/zig.js
diff options
context:
space:
mode:
Diffstat (limited to 'lib/compilers/zig.js')
-rw-r--r--lib/compilers/zig.js21
1 files changed, 15 insertions, 6 deletions
diff --git a/lib/compilers/zig.js b/lib/compilers/zig.js
index 9567fc40b..fdeaf4bae 100644
--- a/lib/compilers/zig.js
+++ b/lib/compilers/zig.js
@@ -33,12 +33,21 @@ class ZigCompiler extends BaseCompiler {
}
preProcess(source) {
- source += '\n';
- source += 'extern fn zig_panic() noreturn;\n';
- source += 'pub inline fn panic(msg: []const u8, error_return_trace: ' +
- '?*@import("builtin").StackTrace) noreturn {\n';
- source += ' zig_panic();\n';
- source += '}\n';
+ if (this.compiler.semver == '0.2.0') {
+ source += '\n';
+ source += 'extern fn zig_panic() noreturn;\n';
+ source += 'pub inline fn panic(msg: []const u8, error_return_trace: ' +
+ '?&@import("builtin").StackTrace) noreturn {\n';
+ source += ' zig_panic();\n';
+ source += '}\n';
+ } else {
+ source += '\n';
+ source += 'extern fn zig_panic() noreturn;\n';
+ source += 'pub inline fn panic(msg: []const u8, error_return_trace: ' +
+ '?*@import("builtin").StackTrace) noreturn {\n';
+ source += ' zig_panic();\n';
+ source += '}\n';
+ }
return source;
}