| ... | @@ -5793,6 +5793,10 @@ fn macroIntToBool(c: *Context, node: Node) !Node { | ... | @@ -5793,6 +5793,10 @@ fn macroIntToBool(c: *Context, node: Node) !Node { |
| 5793 | if (isBoolRes(node)) { | 5793 | if (isBoolRes(node)) { |
| 5794 | return node; | 5794 | return node; |
| 5795 | } | 5795 | } |
| | 5796 | if (node.tag() == .string_literal) { |
| | 5797 | const int_from_ptr = try Tag.int_from_ptr.create(c.arena, node); |
| | 5798 | return Tag.not_equal.create(c.arena, .{ .lhs = int_from_ptr, .rhs = Tag.zero_literal.init() }); |
| | 5799 | } |
| 5796 | | 5800 | |
| 5797 | return Tag.not_equal.create(c.arena, .{ .lhs = node, .rhs = Tag.zero_literal.init() }); | 5801 | return Tag.not_equal.create(c.arena, .{ .lhs = node, .rhs = Tag.zero_literal.init() }); |
| 5798 | } | 5802 | } |