sb |> sba("\n") |> string_builder_to_string() |> print();
}
-make_i32_arr :: proc (a: Allocator, len: u32) -> [] i32 {
+make_i32_arr :: proc (a := heap_allocator, len := 10) -> [] i32 {
arr := cast(^i32) alloc(a, sizeof i32 * len);
return arr[0 : len];
}
proc_exit(1);
}
print("the size is: ");
- print_u64_with_base(cast(u64) filelen, 10l);
+ print_u64_with_base(cast(u64) filelen);
print("\n");
sum := 0l;
for i: 0, 20000 do if is_prime(i) do sum += cast(u64) i;
print("Sum of primes less than 20000 is: ");
- print_u64_with_base(sum, 10l);
+ print_u64_with_base(sum);
print("\n");
matches := string_split(heap_allocator, "This is a test string to test splitting. It surprisingly works very well.", #char " ");
print("\n");
foobar(10, 1230);
+
+ sl := make_i32_arr();
+ print_u64_with_base(cast(u64) sl.count);
}
foobar :: proc (a: i32, b := 1, c := 5l) {
if (callee->kind == Ast_Kind_Function) {
if (call->arg_count < bh_arr_length(callee->params)) {
AstArgument** last_arg = &call->arguments;
- while (*last_arg && (*last_arg)->next != NULL)
+ while (*last_arg != NULL)
last_arg = (AstArgument **) &(*last_arg)->next;
while (call->arg_count < bh_arr_length(callee->params)
new_arg->type = dv->type;
new_arg->next = NULL;
- (*last_arg)->next = (AstNode *) new_arg;
+ *last_arg = new_arg;
last_arg = (AstArgument **) &(*last_arg)->next;
call->arg_count++;