diff options
| author | nsfisis <nsfisis@gmail.com> | 2026-01-10 00:33:08 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2026-01-10 00:44:50 +0900 |
| commit | 8f0fa8d70ce08ee0347a5880d44faab8307b72f6 (patch) | |
| tree | 44f633c60ad6066772b66402a737096c4c21cbd4 /tests | |
| parent | 97980c1f3896a630e146fb12d475edbb6c52cbf7 (diff) | |
| download | ducc-8f0fa8d70ce08ee0347a5880d44faab8307b72f6.tar.gz ducc-8f0fa8d70ce08ee0347a5880d44faab8307b72f6.tar.zst ducc-8f0fa8d70ce08ee0347a5880d44faab8307b72f6.zip | |
feat: implement va_arg()
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/variadic_functions.sh | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/tests/variadic_functions.sh b/tests/variadic_functions.sh index 4f899ee..155fc1a 100644 --- a/tests/variadic_functions.sh +++ b/tests/variadic_functions.sh @@ -29,3 +29,23 @@ int main() { return 0; } EOF + +test_exit_code 0 <<'EOF' +#include <stdarg.h> +#include <helpers.h> + +int sum(int n, ...) { + va_list args; + va_start(args, n); + int s = 0; + for (int i = 0; i < n; ++i) { + s += va_arg(args, int); + } + va_end(args); + return s; +} + +int main() { + ASSERT_EQ(400, sum(5, 100, 90, 80, 70, 60)); +} +EOF |
