diff options
| author | gingerBill <bill@gingerbill.org> | 2023-07-24 11:30:07 +0100 |
|---|---|---|
| committer | gingerBill <bill@gingerbill.org> | 2023-07-24 11:30:07 +0100 |
| commit | 4051dd95223f9662c78c05d09e01b925d2d99ac0 (patch) | |
| tree | 30b3cc20a7913c1032485d9d02f1125013881b16 /src/tilde_builtin.cpp | |
| parent | 360cb9eb9ab0162587d390102780d00f8d0c9139 (diff) | |
Update Tilde to get basic "Hello World" working with `runtime.print_string`
Diffstat (limited to 'src/tilde_builtin.cpp')
| -rw-r--r-- | src/tilde_builtin.cpp | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/src/tilde_builtin.cpp b/src/tilde_builtin.cpp index 6deaf0e9b..b40eacc7f 100644 --- a/src/tilde_builtin.cpp +++ b/src/tilde_builtin.cpp @@ -303,12 +303,15 @@ gb_internal cgValue cg_build_builtin(cgProcedure *p, BuiltinProcId id, Ast *expr case BuiltinProc_min: if (ce->args.count == 2) { Type *t = type_of_expr(expr); - return cg_builtin_min(p, t, cg_build_expr(p, ce->args[0]), cg_build_expr(p, ce->args[1])); + cgValue x = cg_build_expr(p, ce->args[0]); + cgValue y = cg_build_expr(p, ce->args[1]); + return cg_builtin_min(p, t, x, y); } else { Type *t = type_of_expr(expr); cgValue x = cg_build_expr(p, ce->args[0]); for (isize i = 1; i < ce->args.count; i++) { - x = cg_builtin_min(p, t, x, cg_build_expr(p, ce->args[i])); + cgValue y = cg_build_expr(p, ce->args[i]); + x = cg_builtin_min(p, t, x, y); } return x; } @@ -316,12 +319,15 @@ gb_internal cgValue cg_build_builtin(cgProcedure *p, BuiltinProcId id, Ast *expr case BuiltinProc_max: if (ce->args.count == 2) { Type *t = type_of_expr(expr); - return cg_builtin_max(p, t, cg_build_expr(p, ce->args[0]), cg_build_expr(p, ce->args[1])); + cgValue x = cg_build_expr(p, ce->args[0]); + cgValue y = cg_build_expr(p, ce->args[1]); + return cg_builtin_max(p, t, x, y); } else { Type *t = type_of_expr(expr); cgValue x = cg_build_expr(p, ce->args[0]); for (isize i = 1; i < ce->args.count; i++) { - x = cg_builtin_max(p, t, x, cg_build_expr(p, ce->args[i])); + cgValue y = cg_build_expr(p, ce->args[i]); + x = cg_builtin_max(p, t, x, y); } return x; } |