blob: 8a0bb1af7285270a0d9e0fb2559dbabb4f356d92 [file]
;; NOTE: Assertions have been generated by update_lit_checks.py --all-items and should not be edited.
;; RUN: wasm-split -all -g --multi-split %s --manifest %s.manifest --out-prefix=%t -o %t.wasm
;; RUN: wasm-dis %t.wasm | filecheck %s --check-prefix=PRIMARY
;; RUN: wasm-dis %t1.wasm | filecheck %s --check-prefix=MOD1
;; RUN: wasm-dis %t2.wasm | filecheck %s --check-prefix=MOD2
;; RUN: wasm-dis %t3.wasm | filecheck %s --check-prefix=MOD3
;; The start function, $C, cannot be split it, and will remain in the primary.
(module
;; PRIMARY: (type $0 (func))
;; PRIMARY: (import "placeholder.2" "0" (func $placeholder_0))
;; PRIMARY: (table $0 1 funcref)
;; PRIMARY: (elem $0 (i32.const 0) $placeholder_0)
;; PRIMARY: (export "table" (table $0))
;; PRIMARY: (export "C" (func $C))
;; PRIMARY: (start $C)
(start $C)
;; MOD1: (type $0 (func))
;; MOD1: (import "primary" "table" (table $timport$0 1 funcref))
;; MOD1: (import "primary" "C" (func $C (exact)))
;; MOD1: (func $A
;; MOD1-NEXT: (call $A)
;; MOD1-NEXT: (call_indirect (type $0)
;; MOD1-NEXT: (i32.const 0)
;; MOD1-NEXT: )
;; MOD1-NEXT: (call $C)
;; MOD1-NEXT: )
(func $A
(call $A)
(call $B)
(call $C)
)
;; MOD2: (type $0 (func))
;; MOD2: (import "primary" "table" (table $timport$0 1 funcref))
;; MOD2: (elem $0 (i32.const 0) $B)
;; MOD2: (func $B
;; MOD2-NEXT: (drop
;; MOD2-NEXT: (i32.const 42)
;; MOD2-NEXT: )
;; MOD2-NEXT: )
(func $B
(drop
(i32.const 42)
)
)
;; PRIMARY: (func $C
;; PRIMARY-NEXT: (drop
;; PRIMARY-NEXT: (i32.const 1337)
;; PRIMARY-NEXT: )
;; PRIMARY-NEXT: )
(func $C
(drop
(i32.const 1337)
)
)
;; MOD3: (type $0 (func))
;; MOD3: (func $D
;; MOD3-NEXT: (drop
;; MOD3-NEXT: (i32.const 999999)
;; MOD3-NEXT: )
;; MOD3-NEXT: )
(func $D
(drop
(i32.const 999999)
)
)
)