authorgravatar for jacobly@ziglang.orgJacob Young <jacobly@ziglang.org> 2022-10-06 00:54:45-04:00
committergravatar for jacobly@ziglang.orgJacob Young <jacobly@ziglang.org> 2022-10-25 05:11:28-04:00
log3b501b2d81e26fcadd15495eac62545fab1c4b49
tree278e73543f05c74c8129788984eda6cf4131879e
parent497329622ae49908da6bb61faee1b39f3ade0b96

c: cast NULL in advance to avoid comparison warnings


1 files changed, 5 insertions(+), 5 deletions(-)

src/codegen/c.zig+5-5
......@@ -655,11 +655,11 @@ pub const DeclGen = struct {
655655 return dg.fail("TODO: C backend: implement lowering large float values", .{});
656656 },
657657 .Pointer => switch (val.tag()) {
658 .null_value => try writer.writeAll("NULL"),
659 // Technically this should produce NULL but the integer literal 0 will always coerce
660 // to the assigned pointer type. Note this is just a hack to fix warnings from ordered comparisons (<, >, etc)
661 // between pointers and 0, which is an extension to begin with.
662 .zero => try writer.writeByte('0'),
658 .null_value, .zero => {
659 try writer.writeAll("((");
660 try dg.renderTypecast(writer, ty);
661 try writer.writeAll(")NULL)");
662 },
663663 .variable => {
664664 const decl = val.castTag(.variable).?.data.owner_decl;
665665 return dg.renderDeclValue(writer, ty, val, decl);