From e631486866eed1a1d68911d79aa7b5415e94815a Mon Sep 17 00:00:00 2001 From: nsfisis Date: Thu, 8 Jan 2026 00:36:43 +0900 Subject: feat: fib() now compiles to wasm target --- tests/wasm.sh | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) (limited to 'tests') diff --git a/tests/wasm.sh b/tests/wasm.sh index d024989..e97c05f 100644 --- a/tests/wasm.sh +++ b/tests/wasm.sh @@ -23,3 +23,34 @@ cat > expected <<'EOF' EOF diff -u expected output + + +cat > main.c <<'EOF' +int fib(int n) { + if (n <= 1) { + return 1; + } else { + return fib(n - 1) + fib(n - 2); + } +} +EOF + +"$ducc" "${CFLAGS:-}" --wasm -o main.wat main.c + +wat2wasm main.wat -o main.wasm + +cat > main.mjs <<'EOF' +import { readFile } from 'fs/promises'; + +const wasmBuffer = await readFile('./main.wasm'); +const { instance } = await WebAssembly.instantiate(wasmBuffer); + +console.log(instance.exports.fib(10)); +EOF +node main.mjs > output + +cat > expected <<'EOF' +89 +EOF + +diff -u expected output -- cgit v1.2.3-70-g09d2