From f46d7304b176cdc77053225943a7d5030dd0d4ee Mon Sep 17 00:00:00 2001 From: Veikka Tuominen Date: Fri, 5 Aug 2022 18:15:31 +0300 Subject: stage2: add runtime safety for invalid enum values --- src/codegen/c.zig | 2 ++ 1 file changed, 2 insertions(+) (limited to 'src/codegen/c.zig') diff --git a/src/codegen/c.zig b/src/codegen/c.zig index 280b7604bf..b746818142 100644 --- a/src/codegen/c.zig +++ b/src/codegen/c.zig @@ -1952,6 +1952,8 @@ fn genBody(f: *Function, body: []const Air.Inst.Index) error{ AnalysisFail, OutO .reduce_optimized, .float_to_int_optimized, => return f.fail("TODO implement optimized float mode", .{}), + + .is_named_enum_value => return f.fail("TODO: C backend: implement is_named_enum_value", .{}), // zig fmt: on }; switch (result_value) { -- cgit v1.2.3 From 0daa77bd63a3ef9666d5ccda40929403a4bb3305 Mon Sep 17 00:00:00 2001 From: Veikka Tuominen Date: Fri, 5 Aug 2022 20:53:34 +0300 Subject: stage2 cbe: correct `airIsNull` ptr operand check --- src/codegen/c.zig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/codegen/c.zig') diff --git a/src/codegen/c.zig b/src/codegen/c.zig index b746818142..74e4404bce 100644 --- a/src/codegen/c.zig +++ b/src/codegen/c.zig @@ -3252,7 +3252,7 @@ fn airIsNull( const ty = f.air.typeOf(un_op); var opt_buf: Type.Payload.ElemType = undefined; - const payload_ty = if (ty.zigTypeTag() == .Pointer) + const payload_ty = if (deref_suffix[0] != 0) ty.childType().optionalChild(&opt_buf) else ty.optionalChild(&opt_buf); -- cgit v1.2.3