summaryrefslogtreecommitdiff
path: root/test/lit/ctor-eval/array_new_data.wast
blob: 248b71ba43849d7d20e73dd56d909453e114f63f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
;; NOTE: Assertions have been generated by update_lit_checks.py --all-items and should not be edited.
;; RUN: wasm-ctor-eval %s --ctors=test --kept-exports=test --quiet -all -S -o - | filecheck %s

(module
 ;; CHECK:      (type $0 (func))

 ;; CHECK:      (type $[i8] (array i8))
 (type $[i8] (array i8))

 ;; CHECK:      (memory $0 (shared 16 17))
 (memory $0 (shared 16 17))
 ;; CHECK:      (data $0 (i32.const 40) "")
 (data $0 (i32.const 40) "")
 ;; CHECK:      (data $1 (i32.const 0) "")
 (data $1 (i32.const 0) "")

 (func "test"
  ;; An array.new_data cannot be evalled since ctor-eval flattens memory segments
  ;; atm. In fact the module would not validate as we refer to segment 1 here
  ;; but after flattening only segment 0 exists.
  (drop
   (array.new_data $[i8] $1
    (i32.const 16)
    (i32.const 8)
   )
  )
 )
)
;; CHECK:      (export "test" (func $0))

;; CHECK:      (func $0 (type $0)
;; CHECK-NEXT:  (drop
;; CHECK-NEXT:   (array.new_data $[i8] $1
;; CHECK-NEXT:    (i32.const 16)
;; CHECK-NEXT:    (i32.const 8)
;; CHECK-NEXT:   )
;; CHECK-NEXT:  )
;; CHECK-NEXT: )