bug fixes with default parameters
authorBrendan Hansen <brendan.f.hansen@gmail.com>
Wed, 26 Aug 2020 03:52:00 +0000 (22:52 -0500)
committerBrendan Hansen <brendan.f.hansen@gmail.com>
Wed, 26 Aug 2020 03:52:00 +0000 (22:52 -0500)
onyx
progs/wasi_test.onyx
src/onyxchecker.c

diff --git a/onyx b/onyx
index 87ede097129ea42770a83e387043ef4b6e8266e2..bccaf50ad41258e955097e2d80bab0fd3f89470f 100755 (executable)
Binary files a/onyx and b/onyx differ
index 94ee0f1575fa7bb9dc6a8a936c28e0a68e790b7e..1110f0d74562487ca2c5f030a2bcc49dba74bd93 100644 (file)
@@ -202,7 +202,7 @@ print_arr :: proc (sb: ^StringBuilder, arr: []i32) {
     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];
 }
@@ -247,13 +247,13 @@ main :: proc (args: []cstring) {
         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 " ");
@@ -340,6 +340,9 @@ main :: proc (args: []cstring) {
     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) {
index 2d75f55b19fe4b5c77c4700bfe3797eb48cc9f8b..b53c61ca0eed438fb08e7a12af35fb35402612f8 100644 (file)
@@ -301,7 +301,7 @@ b32 check_call(AstCall* call) {
     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)
@@ -314,7 +314,7 @@ b32 check_call(AstCall* call) {
                 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++;