Commit b96d5fd71f

Mitchell Hashimoto <mitchell.hashimoto@gmail.com>
2022-03-03 20:08:14
stage2: peer resolve const array pointer to unknown ptr
1 parent 0924f17
Changed files (2)
src
test
behavior
src/Sema.zig
@@ -18197,7 +18197,7 @@ fn resolvePeerTypes(
 
                     convert_to_slice = false;
 
-                    if (chosen_ty.childType().isConstPtr() and !candidate_ty.childType().isConstPtr())
+                    if (chosen_ty.isConstPtr() and !candidate_ty.isConstPtr())
                         seen_const = true;
 
                     continue;
@@ -18209,7 +18209,7 @@ fn resolvePeerTypes(
                     chosen_ty_tag == .Pointer and
                     chosen_ty.ptrSize() == .Many)
                 {
-                    if (candidate_ty.childType().isConstPtr() and !chosen_ty.childType().isConstPtr())
+                    if (candidate_ty.isConstPtr() and !chosen_ty.isConstPtr())
                         seen_const = true;
 
                     continue;
test/behavior/cast.zig
@@ -985,7 +985,11 @@ test "peer type resolve array pointers, one of them const" {
 }
 
 test "peer type resolve array pointer and unknown pointer" {
-    if (builtin.zig_backend != .stage1) return error.SkipZigTest; // TODO
+    if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO
+    if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
+    if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
+    if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
+    if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
 
     const const_array: [4]u8 = undefined;
     var array: [4]u8 = undefined;