aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKimplul <kimi.h.kuparinen@gmail.com>2024-08-09 17:55:27 +0300
committerKimplul <kimi.h.kuparinen@gmail.com>2024-08-09 18:08:55 +0300
commit3af8485a1c638ce38c0e21d00791c423c5c9b8c2 (patch)
treec735b0dd6becf58d17ccb0d8483cac716b93b3ed
parentb29d61c06c275a6c99e8ae56e860d439fba839d4 (diff)
downloadek-3af8485a1c638ce38c0e21d00791c423c5c9b8c2.tar.gz
ek-3af8485a1c638ce38c0e21d00791c423c5c9b8c2.zip
fix parameter count
-rw-r--r--src/parser.y2
-rw-r--r--tests/call.ek11
-rw-r--r--tests/calls.ek19
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);
-}