Commit a7563e453d
Changed files (1)
lib
std
lib/std/start.zig
@@ -24,7 +24,9 @@ pub const simplified_logic =
builtin.zig_backend == .stage2_aarch64 or
builtin.zig_backend == .stage2_arm or
builtin.zig_backend == .stage2_riscv64 or
- builtin.zig_backend == .stage2_sparc64;
+ builtin.zig_backend == .stage2_sparc64 or
+ builtin.cpu.arch == .spirv32 or
+ builtin.cpu.arch == .spirv64;
comptime {
// No matter what, we import the root file, so that any export, test, comptime
@@ -43,6 +45,9 @@ comptime {
}
} 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" });
} else {
if (!@hasDecl(root, "_start")) {
@export(_start2, .{ .name = "_start" });
@@ -127,6 +132,10 @@ fn wasiMain2() callconv(.C) noreturn {
}
}
+fn spirvMain2() callconv(.Kernel) void {
+ root.main();
+}
+
fn wWinMainCRTStartup2() callconv(.C) noreturn {
root.main();
exit2(0);