aboutsummaryrefslogtreecommitdiff
path: root/src/codegen.zig
diff options
context:
space:
mode:
authorJacob Young <jacobly0@users.noreply.github.com>2023-05-02 00:29:39 -0400
committerJacob Young <jacobly0@users.noreply.github.com>2023-05-03 04:25:14 -0400
commitf56f5af4039aadd5f9377eb2663e4733c37fabc5 (patch)
tree74bd2e4373e04d051e533c58b4ffc7a189be338a /src/codegen.zig
parent8d6336420b937075e3363f9548adb0092af7f819 (diff)
downloadzig-f56f5af4039aadd5f9377eb2663e4733c37fabc5.tar.gz
zig-f56f5af4039aadd5f9377eb2663e4733c37fabc5.zip
x86_64: fix global slices
Diffstat (limited to 'src/codegen.zig')
-rw-r--r--src/codegen.zig12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/codegen.zig b/src/codegen.zig
index 078feb409d..912bf03609 100644
--- a/src/codegen.zig
+++ b/src/codegen.zig
@@ -1156,11 +1156,13 @@ pub fn genTypedValue(
const target = bin_file.options.target;
const ptr_bits = target.cpu.arch.ptrBitWidth();
- if (typed_value.val.castTag(.decl_ref)) |payload| {
- return genDeclRef(bin_file, src_loc, typed_value, payload.data);
- }
- if (typed_value.val.castTag(.decl_ref_mut)) |payload| {
- return genDeclRef(bin_file, src_loc, typed_value, payload.data.decl_index);
+ if (!typed_value.ty.isSlice()) {
+ if (typed_value.val.castTag(.decl_ref)) |payload| {
+ return genDeclRef(bin_file, src_loc, typed_value, payload.data);
+ }
+ if (typed_value.val.castTag(.decl_ref_mut)) |payload| {
+ return genDeclRef(bin_file, src_loc, typed_value, payload.data.decl_index);
+ }
}
switch (typed_value.ty.zigTypeTag()) {