| ... | @@ -30,6 +30,8 @@ comptime { | ... | @@ -30,6 +30,8 @@ comptime { |
| 30 | } | 30 | } |
| 31 | } else if (builtin.os.tag == .windows) { | 31 | } else if (builtin.os.tag == .windows) { |
| 32 | @export(wWinMainCRTStartup2, .{ .name = "wWinMainCRTStartup" }); | 32 | @export(wWinMainCRTStartup2, .{ .name = "wWinMainCRTStartup" }); |
| | 33 | } else if (builtin.os.tag == .wasi) { |
| | 34 | @export(wasmMain2, .{ .name = "_start" }); |
| 33 | } else { | 35 | } else { |
| 34 | if (!@hasDecl(root, "_start")) { | 36 | if (!@hasDecl(root, "_start")) { |
| 35 | @export(_start2, .{ .name = "_start" }); | 37 | @export(_start2, .{ .name = "_start" }); |
| ... | @@ -98,6 +100,11 @@ fn callMain2() noreturn { | ... | @@ -98,6 +100,11 @@ fn callMain2() noreturn { |
| 98 | exit2(0); | 100 | exit2(0); |
| 99 | } | 101 | } |
| 100 | | 102 | |
| | 103 | fn wasmMain2() u8 { |
| | 104 | root.main(); |
| | 105 | return 0; |
| | 106 | } |
| | 107 | |
| 101 | fn wWinMainCRTStartup2() callconv(.C) noreturn { | 108 | fn wWinMainCRTStartup2() callconv(.C) noreturn { |
| 102 | root.main(); | 109 | root.main(); |
| 103 | exit2(0); | 110 | exit2(0); |