From 6d3da836113fb65085d437d4b7f932a1d049cfd3 Mon Sep 17 00:00:00 2001 From: Nikolay Nikolov Date: Sun, 31 Jul 2022 19:54:34 +0300 Subject: [PATCH] + added test for wasm globals --- tests/test/wasm/twasmglobal1.pp | 42 +++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 tests/test/wasm/twasmglobal1.pp diff --git a/tests/test/wasm/twasmglobal1.pp b/tests/test/wasm/twasmglobal1.pp new file mode 100644 index 0000000000..8a26380591 --- /dev/null +++ b/tests/test/wasm/twasmglobal1.pp @@ -0,0 +1,42 @@ +{ %cpu=wasm32 } + +program twasmglobal1; + +const + eps = 0.000001; + +var + global_i32: LongInt; section 'WebAssembly.Global'; + global_i64: Int64; section 'WebAssembly.Global'; + global_f32: Single; section 'WebAssembly.Global'; + global_f64: Double; section 'WebAssembly.Global'; + +procedure Add(a: Integer); +begin + Inc(global_i32, a); + Inc(global_i64, a); + global_f32 := global_f32 + a; + global_f64 := global_f64 + a; +end; + +procedure Check(Cond: Boolean); +begin + if not Cond then + begin + Writeln('Error!'); + Halt(1); + end; +end; + +begin + global_i32 := 5; + global_i64 := 17; + global_f32 := 3.14; + global_f64 := -123.456; + Add(5); + Check(global_i32 = 10); + Check(global_i64 = 22); + Check(Abs(global_f32 - 8.14) < eps); + Check(Abs(global_f64 - (-118.456)) < eps); + Writeln('Ok!'); +end.