cgen: use array_get(a, (int[]){(!i)?1:0}[0]))
parent
33957f9158
commit
2cd54412c6
|
|
@ -3773,15 +3773,9 @@ fn (mut g Gen) cast_expr(node ast.CastExpr) {
|
||||||
g.expr(node.expr)
|
g.expr(node.expr)
|
||||||
} else if node.expr_type == ast.bool_type && node.typ.is_int() {
|
} else if node.expr_type == ast.bool_type && node.typ.is_int() {
|
||||||
styp := g.typ(node.typ)
|
styp := g.typ(node.typ)
|
||||||
tmp := g.new_tmp_var()
|
g.write('($styp[]){(')
|
||||||
g.empty_line = true
|
|
||||||
s := g.go_before_stmt(0)
|
|
||||||
g.write('$styp $tmp = (')
|
|
||||||
g.expr(node.expr)
|
g.expr(node.expr)
|
||||||
g.writeln(')?1:0;')
|
g.write(')?1:0}[0]')
|
||||||
g.empty_line = false
|
|
||||||
g.write(s)
|
|
||||||
g.write(tmp)
|
|
||||||
} else {
|
} else {
|
||||||
styp := g.typ(node.typ)
|
styp := g.typ(node.typ)
|
||||||
if (g.pref.translated || g.file.is_translated) && sym.kind == .function {
|
if (g.pref.translated || g.file.is_translated) && sym.kind == .function {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue