aboutsummaryrefslogtreecommitdiff
path: root/src/link.zig
diff options
context:
space:
mode:
authorRobin Voetter <robin@voetter.nl>2021-01-17 16:18:00 +0100
committerRobin Voetter <robin@voetter.nl>2021-01-19 15:28:17 +0100
commitab607d455e47c35b980c3281ef5c3fb433a770a7 (patch)
tree061c85fb946c1dc9693c5912ae6336e27ffb58cc /src/link.zig
parent9a6babf482047042d71d3d390933e08b7fb7c925 (diff)
downloadzig-ab607d455e47c35b980c3281ef5c3fb433a770a7.tar.gz
zig-ab607d455e47c35b980c3281ef5c3fb433a770a7.zip
SPIR-V: Initial architecture definitions and setup
Diffstat (limited to 'src/link.zig')
-rw-r--r--src/link.zig8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/link.zig b/src/link.zig
index 6914131bea..fdbb7efd4b 100644
--- a/src/link.zig
+++ b/src/link.zig
@@ -133,6 +133,7 @@ pub const File = struct {
macho: MachO.TextBlock,
c: C.DeclBlock,
wasm: void,
+ spirv: void,
};
pub const LinkFn = union {
@@ -141,6 +142,7 @@ pub const File = struct {
macho: MachO.SrcFn,
c: C.FnBlock,
wasm: ?Wasm.FnData,
+ spirv: void,
};
pub const Export = union {
@@ -149,6 +151,7 @@ pub const File = struct {
macho: MachO.Export,
c: void,
wasm: void,
+ spirv: void,
};
/// For DWARF .debug_info.
@@ -177,6 +180,7 @@ pub const File = struct {
.macho => &(try MachO.createEmpty(allocator, options)).base,
.wasm => &(try Wasm.createEmpty(allocator, options)).base,
.c => unreachable, // Reported error earlier.
+ .spirv => return error.SpirVObjectFormatUnimplemented,
.hex => return error.HexObjectFormatUnimplemented,
.raw => return error.RawObjectFormatUnimplemented,
};
@@ -192,6 +196,7 @@ pub const File = struct {
.macho => &(try MachO.createEmpty(allocator, options)).base,
.wasm => &(try Wasm.createEmpty(allocator, options)).base,
.c => unreachable, // Reported error earlier.
+ .spirv => return error.SpirVObjectFormatUnimplemented,
.hex => return error.HexObjectFormatUnimplemented,
.raw => return error.RawObjectFormatUnimplemented,
};
@@ -207,6 +212,7 @@ pub const File = struct {
.macho => &(try MachO.openPath(allocator, sub_path, options)).base,
.wasm => &(try Wasm.openPath(allocator, sub_path, options)).base,
.c => &(try C.openPath(allocator, sub_path, options)).base,
+ .spirv => return error.SpirVObjectFormatUnimplemented,
.hex => return error.HexObjectFormatUnimplemented,
.raw => return error.RawObjectFormatUnimplemented,
};
@@ -595,6 +601,7 @@ pub const File = struct {
macho,
c,
wasm,
+ spirv,
};
pub const ErrorFlags = struct {
@@ -605,6 +612,7 @@ pub const File = struct {
pub const Coff = @import("link/Coff.zig");
pub const Elf = @import("link/Elf.zig");
pub const MachO = @import("link/MachO.zig");
+ pub const SpirV = @import("link/SpirV.zig");
pub const Wasm = @import("link/Wasm.zig");
};