|
@ -1,6 +1,6 @@ |
|
|
# main.leg -- C parser + interpreter |
|
|
# main.leg -- C parser + interpreter |
|
|
# |
|
|
# |
|
|
# Last edited: 2025-01-24 20:12:04 by piumarta on zora |
|
|
|
|
|
|
|
|
# Last edited: 2025-01-24 22:12:50 by piumarta on zora |
|
|
|
|
|
|
|
|
%{ |
|
|
%{ |
|
|
; |
|
|
; |
|
@ -2992,7 +2992,6 @@ oop typeCheck(oop exp, oop fntype) |
|
|
int parc = get(params, Array,size); |
|
|
int parc = get(params, Array,size); |
|
|
oop *parv = get(params, Array,elements); |
|
|
oop *parv = get(params, Array,elements); |
|
|
int vararg = parc && (t_etc == parv[parc - 1]); |
|
|
int vararg = parc && (t_etc == parv[parc - 1]); |
|
|
printf("argc %d parc %d vararg %d\n", argc, parc, vararg); |
|
|
|
|
|
if ((!vararg && (argc != parc)) || (vararg && (argc < parc - 1))) |
|
|
if ((!vararg && (argc != parc)) || (vararg && (argc < parc - 1))) |
|
|
fatal("wrong number (%d) of arguments, expected %d", argc, parc); |
|
|
fatal("wrong number (%d) of arguments, expected %d", argc, parc); |
|
|
for (int i = 0; i < argc; ++i) { |
|
|
for (int i = 0; i < argc; ++i) { |
|
|