authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2019-11-07 14:46:48-05:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2019-11-08 15:57:24-05:00
logfa34dfcce7bfe44840c0cf1ac450c2dc457ce94a
treeeba12d7b22b934caa82966c669e846268addab39
parente0db54e89d6f4e9f56800ddb1017e30be1b7d58a
signaturelock-open Commit is signed but in an unrecognized format.

fix result loc of cast not finding parent


3 files changed, 8 insertions(+), 8 deletions(-)

src/ir.cpp+1-1
......@@ -15733,7 +15733,7 @@ static IrInstruction *ir_resolve_result_raw(IrAnalyze *ira, IrInstruction *suspe
1573315733 casted_value = nullptr;
1573415734 }
1573515735
15736 if (casted_value == nullptr || type_is_invalid(casted_value->value.type)) {
15736 if (casted_value != nullptr && type_is_invalid(casted_value->value.type)) {
1573715737 return casted_value;
1573815738 }
1573915739
test/stage1/behavior.zig+2-2
......@@ -1,5 +1,5 @@
11comptime {
2 //_ = @import("behavior/align.zig");
2 _ = @import("behavior/align.zig");
33 _ = @import("behavior/alignof.zig");
44 //_ = @import("behavior/array.zig");
55 _ = @import("behavior/asm.zig");
......@@ -73,7 +73,7 @@ comptime {
7373 _ = @import("behavior/ir_block_deps.zig");
7474 _ = @import("behavior/math.zig");
7575 _ = @import("behavior/merge_error_sets.zig");
76 //_ = @import("behavior/misc.zig");
76 _ = @import("behavior/misc.zig");
7777 _ = @import("behavior/muladd.zig");
7878 _ = @import("behavior/namespace_depends_on_compile_var.zig");
7979 _ = @import("behavior/new_stack_call.zig");
test/stage1/behavior/misc.zig+5-5
......@@ -241,14 +241,14 @@ fn memFree(comptime T: type, memory: []T) void {}
241241
242242test "cast undefined" {
243243 const array: [100]u8 = undefined;
244 const slice = ([]const u8)(array);
244 const slice = @as([]const u8, array);
245245 testCastUndefined(slice);
246246}
247247fn testCastUndefined(x: []const u8) void {}
248248
249249test "cast small unsigned to larger signed" {
250 expect(castSmallUnsignedToLargerSigned1(200) == i16(200));
251 expect(castSmallUnsignedToLargerSigned2(9999) == i64(9999));
250 expect(castSmallUnsignedToLargerSigned1(200) == @as(i16, 200));
251 expect(castSmallUnsignedToLargerSigned2(9999) == @as(i64, 9999));
252252}
253253fn castSmallUnsignedToLargerSigned1(x: u8) i16 {
254254 return x;
......@@ -350,7 +350,7 @@ fn testTakeAddressOfParameter(f: f32) void {
350350}
351351
352352test "pointer comparison" {
353 const a = ([]const u8)("a");
353 const a = @as([]const u8, "a");
354354 const b = &a;
355355 expect(ptrEql(b, b));
356356}
......@@ -642,7 +642,7 @@ test "self reference through fn ptr field" {
642642
643643test "volatile load and store" {
644644 var number: i32 = 1234;
645 const ptr = (*volatile i32)(&number);
645 const ptr = @as(*volatile i32, &number);
646646 ptr.* += 1;
647647 expect(ptr.* == 1235);
648648}