diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/ctor-eval/memory-init.wast | 22 | ||||
-rw-r--r-- | test/ctor-eval/memory-init.wast.ctors | 1 | ||||
-rw-r--r-- | test/ctor-eval/memory-init.wast.out | 18 |
3 files changed, 41 insertions, 0 deletions
diff --git a/test/ctor-eval/memory-init.wast b/test/ctor-eval/memory-init.wast new file mode 100644 index 000000000..b910aa2f3 --- /dev/null +++ b/test/ctor-eval/memory-init.wast @@ -0,0 +1,22 @@ +(module + (memory $0 1) + (data (i32.const 0) "__________") + (data (i32.const 20) "__________") + (func "test1" + ;; A store that can be evalled. + (i32.store8 + (i32.const 4) + (i32.const 100) + ) + + ;; A memory init cannot be evalled since ctor-eval flattens memory segments + ;; atm. We lose the identity of them as a result as they are all merged + ;; into a single big segment. We could fix that eventually. + (memory.init 1 + (i32.const 0) + (i32.const 0) + (i32.const 1) + ) + ) +) + diff --git a/test/ctor-eval/memory-init.wast.ctors b/test/ctor-eval/memory-init.wast.ctors new file mode 100644 index 000000000..a5bce3fd2 --- /dev/null +++ b/test/ctor-eval/memory-init.wast.ctors @@ -0,0 +1 @@ +test1 diff --git a/test/ctor-eval/memory-init.wast.out b/test/ctor-eval/memory-init.wast.out new file mode 100644 index 000000000..6019ea277 --- /dev/null +++ b/test/ctor-eval/memory-init.wast.out @@ -0,0 +1,18 @@ +(module + (type $none_=>_none (func)) + (memory $0 1) + (data (i32.const 0) "__________") + (data (i32.const 20) "__________") + (export "test1" (func $0)) + (func $0 + (i32.store8 + (i32.const 4) + (i32.const 100) + ) + (memory.init 1 + (i32.const 0) + (i32.const 0) + (i32.const 1) + ) + ) +) |