Actions
Feature #221
openExtern variadic procedures
Feature #221:
Extern variadic procedures
Status:
New
Priority:
Normal
Assignee:
-
Category:
Language
Start date:
Due date:
% Done:
0%
Estimated time:
Description
A new attribute #varargs should be introduced. Only valid positions for this attribute are procedure declaration and type: #varargs proc f(x: Int) extern or var x: #varargs proc(x: Int).
- In procedure declarations `#varargs' is supported only on extern procedures.
- Type checker should be extended to check for this attribute and adjust argument checking. Also assignment checking should be modified to disallow assigning variadic to non-variadic procedures or vice versa.
- Arguments passed through the variadic part need the C default promotions, e.g.
Word8andBoolwidened toint,SingletoDouble.
Actions