diff options
| author | Luuk de Gram <luuk@degram.dev> | 2023-04-13 19:37:55 +0200 |
|---|---|---|
| committer | Luuk de Gram <luuk@degram.dev> | 2023-04-14 15:25:42 +0200 |
| commit | d755f67b93dc795d27ea7df9b3bccda443f2a257 (patch) | |
| tree | 3fe5aee31dfbd0e07629d33ccbcce15207c65155 /lib/std | |
| parent | b42562be74ee7b88e39edc757643444de63d2df5 (diff) | |
| download | zig-d755f67b93dc795d27ea7df9b3bccda443f2a257.tar.gz zig-d755f67b93dc795d27ea7df9b3bccda443f2a257.zip | |
wasm: no longer use simplified `start.zig`
The Wasm backend now supports all features required to use
the full `start.zig` logic, rather than the simplified version.
With this commit we remove all references to the simplified logic
for Wasm specifically.
Diffstat (limited to 'lib/std')
| -rw-r--r-- | lib/std/start.zig | 19 |
1 files changed, 0 insertions, 19 deletions
diff --git a/lib/std/start.zig b/lib/std/start.zig index 40b499039b..45e2e7da43 100644 --- a/lib/std/start.zig +++ b/lib/std/start.zig @@ -18,7 +18,6 @@ const start_sym_name = if (native_arch.isMIPS()) "__start" else "_start"; // Until then, we have simplified logic here for self-hosted. TODO remove this once // self-hosted is capable enough to handle all of the real start.zig logic. pub const simplified_logic = - builtin.zig_backend == .stage2_wasm or (builtin.zig_backend == .stage2_x86_64 and (builtin.link_libc or builtin.os.tag == .plan9)) or builtin.zig_backend == .stage2_x86 or builtin.zig_backend == .stage2_aarch64 or @@ -43,8 +42,6 @@ comptime { if (!@hasDecl(root, "wWinMainCRTStartup") and !@hasDecl(root, "mainCRTStartup")) { @export(wWinMainCRTStartup2, .{ .name = "wWinMainCRTStartup" }); } - } else if (builtin.os.tag == .wasi and @hasDecl(root, "main")) { - @export(wasiMain2, .{ .name = "_start" }); } else if (builtin.os.tag == .opencl) { if (@hasDecl(root, "main")) @export(spirvMain2, .{ .name = "main" }); @@ -116,22 +113,6 @@ fn callMain2() noreturn { exit2(0); } -fn wasiMain2() callconv(.C) noreturn { - switch (@typeInfo(@typeInfo(@TypeOf(root.main)).Fn.return_type.?)) { - .Void => { - root.main(); - std.os.wasi.proc_exit(0); - }, - .Int => |info| { - if (info.bits != 8 or info.signedness == .signed) { - @compileError(bad_main_ret); - } - std.os.wasi.proc_exit(root.main()); - }, - else => @compileError("Bad return type main"), - } -} - fn spirvMain2() callconv(.Kernel) void { root.main(); } |
