diff options
| author | gwenzek <gwenzek@users.noreply.github.com> | 2022-02-21 20:05:27 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-02-21 14:05:27 -0500 |
| commit | 628e9e6d040979bd0a2cba05e854014dee5a7d55 (patch) | |
| tree | b2d86569b54d792808b608402cc9d1ea8ec7d161 /src/Sema.zig | |
| parent | d8da9a01fcfebf14a9f262cabf36f1c0767d2e2b (diff) | |
| download | zig-628e9e6d040979bd0a2cba05e854014dee5a7d55.tar.gz zig-628e9e6d040979bd0a2cba05e854014dee5a7d55.zip | |
enable Gpu address spaces (#10884)
Diffstat (limited to 'src/Sema.zig')
| -rw-r--r-- | src/Sema.zig | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/Sema.zig b/src/Sema.zig index 93cbb8f2cf..91cddc18ff 100644 --- a/src/Sema.zig +++ b/src/Sema.zig @@ -18006,10 +18006,14 @@ pub fn analyzeAddrspace( const address_space = addrspace_tv.val.toEnum(std.builtin.AddressSpace); const target = sema.mod.getTarget(); const arch = target.cpu.arch; + const is_gpu = arch == .nvptx or arch == .nvptx64; const supported = switch (address_space) { .generic => true, .gs, .fs, .ss => (arch == .i386 or arch == .x86_64) and ctx == .pointer, + // TODO: check that .shared and .local are left uninitialized + .global, .param, .shared, .local => is_gpu, + .constant => is_gpu and (ctx == .constant), }; if (!supported) { @@ -18020,7 +18024,6 @@ pub fn analyzeAddrspace( .constant => "constant values", .pointer => "pointers", }; - return sema.fail( block, src, |
