From 25ae363250e479701ed532c55c255e043c8240da Mon Sep 17 00:00:00 2001 From: _ov4 Date: Wed, 21 Oct 2026 06:04:52 +0000 Subject: feat(codegen): add variadic function templates Co-Authored-By: Claude Opus 5.5 --- tests/iii/template-variadic-errors/program.cps | 39 ++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 tests/iii/template-variadic-errors/program.cps (limited to 'tests/iii/template-variadic-errors/program.cps') diff --git a/tests/iii/template-variadic-errors/program.cps b/tests/iii/template-variadic-errors/program.cps new file mode 100644 index 0000000..df2ebc1 --- /dev/null +++ b/tests/iii/template-variadic-errors/program.cps @@ -0,0 +1,39 @@ +TEMPLATE +PROCEDURE MissingBase(First : T, Others : Rest...) + CALL MissingBase(Others...) +ENDPROCEDURE + +TEMPLATE +PROCEDURE BadOutput(Values : Types...) + OUTPUT Values... +ENDPROCEDURE + +TEMPLATE +PROCEDURE BadIndex(Values : Types...) + DECLARE Items : ARRAY[1:2] OF INTEGER + OUTPUT Items[Values...] +ENDPROCEDURE + +TEMPLATE +PROCEDURE BadOperand(Values : Types...) + OUTPUT 1 + Values... +ENDPROCEDURE + +TEMPLATE +PROCEDURE Exact(First : T, Others : Rest...) +ENDPROCEDURE + +TEMPLATE +OVERLOAD PROCEDURE Tied(Values : A...) +ENDPROCEDURE +TEMPLATE +OVERLOAD PROCEDURE Tied(Values : B...) +ENDPROCEDURE + +CALL MissingBase(1) +CALL BadOutput(1) +CALL BadIndex(1) +CALL BadOperand(1) +CALL Exact(1, 2) +CALL Exact(1, 2.5) +CALL Tied(1) -- cgit v1.3.1-4-g156e