Zig 0.17.0-dev (Split by item)
This is an example of documentation generated by
ZigDoc , an alternative to Zig's built-in
Auto Doc feature. See also
examples in other modes/formats . The project being documented here (as the example) is the Zig library itself.
Zig › compiler/ › translate-c/ › Translator.zig › finishBoolExpr
finishBoolExpr
Translator.finishBoolExpr
fn finishBoolExpr (t : *Translator , qt : QualType , node : ZigNode ) TransError !ZigNode
File
Code
fn finishBoolExpr (t : *Translator , qt : QualType , node : ZigNode ) TransError !ZigNode {
const sk = qt .scalarKind (t .comp );
if (sk == .bool ) return node ;
if (sk == .nullptr_t ) {
return ZigTag .equal .create (t .arena , .{ .lhs = node , .rhs = ZigTag .null_literal .init () });
}
if (sk .isPointer ()) {
return ZigTag .not_equal .create (t .arena , .{ .lhs = node , .rhs = ZigTag .null_literal .init () });
}
if (sk != .none ) {
return ZigTag .not_equal .create (t .arena , .{ .lhs = node , .rhs = ZigTag .zero_literal .init () });
}
unreachable ;
}