authorgravatar for jacobly@ziglang.orgJacob Young <jacobly@ziglang.org> 2023-05-02 00:29:39-04:00
committergravatar for jacobly@ziglang.orgJacob Young <jacobly@ziglang.org> 2023-05-03 04:25:14-04:00
logf56f5af4039aadd5f9377eb2663e4733c37fabc5
tree74bd2e4373e04d051e533c58b4ffc7a189be338a
parent8d6336420b937075e3363f9548adb0092af7f819

x86_64: fix global slices


5 files changed, 7 insertions(+), 15 deletions(-)

src/codegen.zig+7-5
......@@ -1156,11 +1156,13 @@ pub fn genTypedValue(
11561156 const target = bin_file.options.target;
11571157 const ptr_bits = target.cpu.arch.ptrBitWidth();
11581158
1159 if (typed_value.val.castTag(.decl_ref)) |payload| {
1160 return genDeclRef(bin_file, src_loc, typed_value, payload.data);
1161 }
1162 if (typed_value.val.castTag(.decl_ref_mut)) |payload| {
1163 return genDeclRef(bin_file, src_loc, typed_value, payload.data.decl_index);
1159 if (!typed_value.ty.isSlice()) {
1160 if (typed_value.val.castTag(.decl_ref)) |payload| {
1161 return genDeclRef(bin_file, src_loc, typed_value, payload.data);
1162 }
1163 if (typed_value.val.castTag(.decl_ref_mut)) |payload| {
1164 return genDeclRef(bin_file, src_loc, typed_value, payload.data.decl_index);
1165 }
11641166 }
11651167
11661168 switch (typed_value.ty.zigTypeTag()) {
test/behavior/cast.zig-4
......@@ -688,7 +688,6 @@ test "peer cast: error set any anyerror" {
688688}
689689
690690test "peer type resolution: error set supersets" {
691 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
692691 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
693692 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
694693 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
......@@ -718,7 +717,6 @@ test "peer type resolution: error set supersets" {
718717}
719718
720719test "peer type resolution: disjoint error sets" {
721 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
722720 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
723721 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
724722 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
......@@ -748,7 +746,6 @@ test "peer type resolution: disjoint error sets" {
748746}
749747
750748test "peer type resolution: error union and error set" {
751 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
752749 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
753750 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
754751 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
......@@ -782,7 +779,6 @@ test "peer type resolution: error union and error set" {
782779}
783780
784781test "peer type resolution: error union after non-error" {
785 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
786782 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
787783 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
788784 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
test/behavior/generics.zig-1
......@@ -250,7 +250,6 @@ test "function parameter is generic" {
250250}
251251
252252test "generic function instantiation turns into comptime call" {
253 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
254253 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
255254 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
256255 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
test/behavior/src.zig-1
......@@ -14,7 +14,6 @@ const builtin = @import("builtin");
1414const expect = std.testing.expect;
1515
1616test "@src" {
17 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
1817 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
1918 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
2019 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
test/behavior/type_info.zig-4
......@@ -159,7 +159,6 @@ fn testArray() !void {
159159test "type info: error set, error union info, anyerror" {
160160 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
161161 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
162 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
163162 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
164163
165164 try testErrorSet();
......@@ -191,7 +190,6 @@ fn testErrorSet() !void {
191190test "type info: error set single value" {
192191 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
193192 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
194 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
195193 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
196194
197195 const TestSet = error.One;
......@@ -205,7 +203,6 @@ test "type info: error set single value" {
205203test "type info: error set merged" {
206204 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
207205 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
208 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
209206 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
210207
211208 const TestSet = error{ One, Two } || error{Three};
......@@ -219,7 +216,6 @@ test "type info: error set merged" {
219216}
220217
221218test "type info: enum info" {
222 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
223219 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
224220 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
225221 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO