Update Tilde to get basic "Hello World" working with runtime.print_string

This commit is contained in:
gingerBill
2023-07-24 11:30:07 +01:00
parent 360cb9eb9a
commit 4051dd9522
3 changed files with 13 additions and 7 deletions
+10 -4
View File
@@ -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;
}