diff options
| -rw-r--r-- | src/parser.y | 2 | ||||
| -rw-r--r-- | tests/call.ek | 11 | ||||
| -rw-r--r-- | tests/calls.ek | 19 |
3 files changed, 12 insertions, 20 deletions
diff --git a/src/parser.y b/src/parser.y index f4e6eb0..ca7226d 100644 --- a/src/parser.y +++ b/src/parser.y @@ -324,7 +324,7 @@ sign_decl | sign_var_decl rev_decls - : decls "," param_decl { $$ = $3; $1->n = $1; } + : rev_decls "," param_decl { $$ = $3; $$->n = $1; } | param_decl decls diff --git a/tests/call.ek b/tests/call.ek new file mode 100644 index 0000000..86d6ed0 --- /dev/null +++ b/tests/call.ek @@ -0,0 +1,11 @@ +typedef i27 {} + +add(i27 a, i27 b => i27) +{ + return a + b; +} + +main() +{ + add(20 as i27, 40 as i27); +} diff --git a/tests/calls.ek b/tests/calls.ek deleted file mode 100644 index 0a4c20d..0000000 --- a/tests/calls.ek +++ /dev/null @@ -1,19 +0,0 @@ -typedef some_type { - add(some_type, some_type => some_type); -} - -add(u32 a, u32 b => u32) -{ - return a + b; -} - -/* ah fuck, analyze_proc gobbles up the typeof */ -some_proc(some_type a, typeof a b => typeof a) -{ - return add(a, b); -} - -main() -{ - some_proc(20 as u32, 40 as u32); -} |
