diff options
| author | Eugen Wissner <belka@caraus.de> | 2026-07-05 20:38:14 +0200 |
|---|---|---|
| committer | Eugen Wissner <belka@caraus.de> | 2026-07-05 20:38:14 +0200 |
| commit | 8ea930783d15c04bbe9a027eaf19ca10e2cd87c0 (patch) | |
| tree | 4a77722a30a22463769911f107a05fc7730aa615 | |
| parent | 1d8ac83916572ef94cc4274073fa88fb4368654d (diff) | |
| download | elna-8ea930783d15c04bbe9a027eaf19ca10e2cd87c0.tar.gz | |
Add tests for aggregate passing and returning
| -rw-r--r-- | testsuite/runnable/aggregate_argument.elna | 21 | ||||
| -rw-r--r-- | testsuite/runnable/return_aggregate.elna | 25 |
2 files changed, 46 insertions, 0 deletions
diff --git a/testsuite/runnable/aggregate_argument.elna b/testsuite/runnable/aggregate_argument.elna new file mode 100644 index 0000000..2492a0b --- /dev/null +++ b/testsuite/runnable/aggregate_argument.elna @@ -0,0 +1,21 @@ +type + R = record + a: Int; + b: Int + end + +proc f(r: R) -> Int +var + result: Int +begin + if r.a = 1 & r.b = 2 then + result := 0 + else + result := 1 + end; + return result +end + +return f(R(1, 2)) + +end. diff --git a/testsuite/runnable/return_aggregate.elna b/testsuite/runnable/return_aggregate.elna new file mode 100644 index 0000000..54d833d --- /dev/null +++ b/testsuite/runnable/return_aggregate.elna @@ -0,0 +1,25 @@ +type + R = record + a: Int; + b: Int + end + +proc g() -> R + return R(1, 2) +end + +proc f() -> Int +var + result: Int +begin + if g() = R(1, 2) then + result := 0 + else + result := 1 + end; + return result +end + +return f() + +end. |
