From 725dec6aa7a7ec48625d16e5ea4e2c730f73d9dd Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Wed, 10 Sep 2025 02:03:37 -0700 Subject: Sema: add missed logic to checkPtrAttributes It wasn't checking bit pointer data. --- .../cases/compile_errors/implicitly_increasing_pointer_alignment.zig | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'test/cases/compile_errors/implicitly_increasing_pointer_alignment.zig') diff --git a/test/cases/compile_errors/implicitly_increasing_pointer_alignment.zig b/test/cases/compile_errors/implicitly_increasing_pointer_alignment.zig index 367b547d8e..55ec84ea30 100644 --- a/test/cases/compile_errors/implicitly_increasing_pointer_alignment.zig +++ b/test/cases/compile_errors/implicitly_increasing_pointer_alignment.zig @@ -14,6 +14,7 @@ fn bar(x: *u32) void { // error // -// :8:9: error: expected type '*u32', found '*align(1) u32' -// :8:9: note: pointer alignment '1' cannot cast into pointer alignment '4' +// :8:9: error: expected type '*u32', found '*align(8:8:8) u32' +// :8:9: note: pointer host size '8' cannot cast into pointer host size '0' +// :8:9: note: pointer bit offset '8' cannot cast into pointer bit offset '0' // :11:11: note: parameter type declared here -- cgit v1.2.3 From ed7ff0b693037078f451a7c6c1124611060f4892 Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Fri, 19 Sep 2025 23:13:29 -0700 Subject: allow some test cases to regress tracked by #24061 - these should be re-enabled once that is solved. --- lib/std/Thread.zig | 5 +++++ test/behavior/vector.zig | 10 ++++++++++ .../implicitly_increasing_pointer_alignment.zig | 20 -------------------- .../implicitly_increasing_slice_alignment.zig | 20 -------------------- test/cases/pie_linux.zig | 2 +- 5 files changed, 16 insertions(+), 41 deletions(-) delete mode 100644 test/cases/compile_errors/implicitly_increasing_pointer_alignment.zig delete mode 100644 test/cases/compile_errors/implicitly_increasing_slice_alignment.zig (limited to 'test/cases/compile_errors/implicitly_increasing_pointer_alignment.zig') diff --git a/lib/std/Thread.zig b/lib/std/Thread.zig index 5f667497fd..32d2fe76eb 100644 --- a/lib/std/Thread.zig +++ b/lib/std/Thread.zig @@ -1661,6 +1661,11 @@ test "Thread.getCurrentId" { test "thread local storage" { if (builtin.single_threaded) return error.SkipZigTest; + if (builtin.cpu.arch == .thumbeb) { + // https://github.com/ziglang/zig/issues/24061 + return error.SkipZigTest; + } + const thread1 = try Thread.spawn(.{}, testTls, .{}); const thread2 = try Thread.spawn(.{}, testTls, .{}); try testTls(); diff --git a/test/behavior/vector.zig b/test/behavior/vector.zig index c58b2a06f8..f9c91c43c2 100644 --- a/test/behavior/vector.zig +++ b/test/behavior/vector.zig @@ -606,6 +606,11 @@ test "vector bitwise not operator" { if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_riscv64) return error.SkipZigTest; + if (builtin.cpu.arch == .aarch64_be) { + // https://github.com/ziglang/zig/issues/24061 + return error.SkipZigTest; + } + const S = struct { fn doTheTestNot(comptime T: type, x: @Vector(4, T)) !void { const y = ~x; @@ -640,6 +645,11 @@ test "vector boolean not operator" { if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_riscv64) return error.SkipZigTest; + if (builtin.cpu.arch == .aarch64_be) { + // https://github.com/ziglang/zig/issues/24061 + return error.SkipZigTest; + } + const S = struct { fn doTheTestNot(comptime T: type, x: @Vector(4, T)) !void { const y = !x; diff --git a/test/cases/compile_errors/implicitly_increasing_pointer_alignment.zig b/test/cases/compile_errors/implicitly_increasing_pointer_alignment.zig deleted file mode 100644 index 55ec84ea30..0000000000 --- a/test/cases/compile_errors/implicitly_increasing_pointer_alignment.zig +++ /dev/null @@ -1,20 +0,0 @@ -const Foo = packed struct { - a: u8, - b: u32, -}; - -export fn entry() void { - var foo = Foo{ .a = 1, .b = 10 }; - bar(&foo.b); -} - -fn bar(x: *u32) void { - x.* += 1; -} - -// error -// -// :8:9: error: expected type '*u32', found '*align(8:8:8) u32' -// :8:9: note: pointer host size '8' cannot cast into pointer host size '0' -// :8:9: note: pointer bit offset '8' cannot cast into pointer bit offset '0' -// :11:11: note: parameter type declared here diff --git a/test/cases/compile_errors/implicitly_increasing_slice_alignment.zig b/test/cases/compile_errors/implicitly_increasing_slice_alignment.zig deleted file mode 100644 index 5fdf77f467..0000000000 --- a/test/cases/compile_errors/implicitly_increasing_slice_alignment.zig +++ /dev/null @@ -1,20 +0,0 @@ -const Foo = packed struct { - a: u8, - b: u32, -}; - -export fn entry() void { - var foo = Foo{ .a = 1, .b = 10 }; - foo.b += 1; - bar(@as(*[1]u32, &foo.b)[0..]); -} - -fn bar(x: []u32) void { - x[0] += 1; -} - -// error -// -// :9:22: error: expected type '*[1]u32', found '*align(8:8:8) u32' -// :9:22: note: pointer host size '8' cannot cast into pointer host size '0' -// :9:22: note: pointer bit offset '8' cannot cast into pointer bit offset '0' diff --git a/test/cases/pie_linux.zig b/test/cases/pie_linux.zig index 293a172e9c..3e65286406 100644 --- a/test/cases/pie_linux.zig +++ b/test/cases/pie_linux.zig @@ -6,5 +6,5 @@ pub fn main() void {} // run // backend=llvm -// target=arm-linux,armeb-linux,thumb-linux,thumbeb-linux,aarch64-linux,aarch64_be-linux,loongarch64-linux,mips-linux,mipsel-linux,mips64-linux,mips64el-linux,powerpc-linux,powerpcle-linux,powerpc64-linux,powerpc64le-linux,riscv32-linux,riscv64-linux,s390x-linux,x86-linux,x86_64-linux +// target=arm-linux,armeb-linux,thumb-linux,thumbeb-linux,aarch64-linux,aarch64_be-linux,loongarch64-linux,mips-linux,mipsel-linux,mips64-linux,mips64el-linux,powerpc-linux,powerpcle-linux,powerpc64-linux,powerpc64le-linux,riscv32-linux,riscv64-linux,x86-linux,x86_64-linux // pie=true -- cgit v1.2.3