Commit 95f5e17e49

Andrew Kelley <andrew@ziglang.org>
2022-05-17 05:44:40
behavior tests: correction of C pointer test
This test was also covering this behavior: ```zig test "equality of pointers to comptime const" { const a: i32 = undefined; comptime assert(&a == &a); } ``` This check belongs in its own behavior test which isolates this behavior; not bundled along with a C pointer test.
1 parent 00f3d84
Changed files (2)
test
test/behavior/eval.zig
@@ -1110,3 +1110,10 @@ test "no dependency loop for alignment of self tagged union" {
     };
     try S.doTheTest();
 }
+
+test "equality of pointers to comptime const" {
+    if (builtin.zig_backend != .stage1) return error.SkipZigTest; // TODO
+
+    const a: i32 = undefined;
+    comptime assert(&a == &a);
+}
test/behavior/pointers.zig
@@ -214,7 +214,10 @@ test "allowzero pointer and slice" {
 }
 
 test "assign null directly to C pointer and test null equality" {
-    if (builtin.zig_backend != .stage1) return error.SkipZigTest; // TODO
+    if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
+    if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
+    if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
+    if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
 
     var x: [*c]i32 = null;
     try expect(x == null);
@@ -238,7 +241,8 @@ test "assign null directly to C pointer and test null equality" {
         @panic("fail");
     }
     const othery: i32 = undefined;
-    comptime try expect((y orelse &othery) == &othery);
+    const ptr_othery = &othery;
+    comptime try expect((y orelse ptr_othery) == ptr_othery);
 
     var n: i32 = 1234;
     var x1: [*c]i32 = &n;