| ;; RUN: wasm-split -all --multi-split %s --manifest %S/multi-split.wast.manifest --out-prefix=%t --symbolmap -o %t.wasm | |
| ;; RUN: filecheck %s --check-prefix PRIMARY-MAP < %t.wasm.symbols | |
| ;; RUN: filecheck %s --check-prefix MOD1-MAP < %t1.wasm.symbols | |
| ;; RUN: filecheck %s --check-prefix MOD2-MAP < %t2.wasm.symbols | |
| ;; RUN: filecheck %s --check-prefix MOD3-MAP < %t3.wasm.symbols | |
| ;; PRIMARY-MAP: 0:placeholder_0 | |
| ;; PRIMARY-MAP: 1:placeholder_1 | |
| ;; PRIMARY-MAP: 2:placeholder_2 | |
| ;; PRIMARY-MAP: 3:trampoline_B | |
| ;; PRIMARY-MAP: 4:trampoline_C | |
| ;; PRIMARY-MAP: 5:trampoline_A | |
| ;; MOD1-MAP: 0:trampoline_B | |
| ;; MOD1-MAP: 1:trampoline_C | |
| ;; MOD1-MAP: 2:A | |
| ;; MOD2-MAP: 0:trampoline_A | |
| ;; MOD2-MAP: 1:trampoline_C | |
| ;; MOD2-MAP: 2:B | |
| ;; MOD3-MAP: 0:trampoline_A | |
| ;; MOD3-MAP: 1:trampoline_B | |
| ;; MOD3-MAP: 2:C | |
| (module | |
| (type $ret-i32 (func (result i32))) | |
| (type $ret-i64 (func (result i64))) | |
| (type $ret-f32 (func (result f32))) | |
| (func $A (type $ret-i32) (result i32) | |
| (drop | |
| (call_ref $ret-i32 | |
| (ref.func $A) | |
| ) | |
| ) | |
| (drop | |
| (call_ref $ret-i64 | |
| (ref.func $B) | |
| ) | |
| ) | |
| (drop | |
| (call_ref $ret-f32 | |
| (ref.func $C) | |
| ) | |
| ) | |
| (i32.const 0) | |
| ) | |
| (func $B (type $ret-i64) (result i64) | |
| (drop | |
| (call_ref $ret-i32 | |
| (ref.func $A) | |
| ) | |
| ) | |
| (drop | |
| (call_ref $ret-i64 | |
| (ref.func $B) | |
| ) | |
| ) | |
| (drop | |
| (call_ref $ret-f32 | |
| (ref.func $C) | |
| ) | |
| ) | |
| (i64.const 0) | |
| ) | |
| (func $C (type $ret-f32) (result f32) | |
| (drop | |
| (call_ref $ret-i32 | |
| (ref.func $A) | |
| ) | |
| ) | |
| (drop | |
| (call_ref $ret-i64 | |
| (ref.func $B) | |
| ) | |
| ) | |
| (drop | |
| (call_ref $ret-f32 | |
| (ref.func $C) | |
| ) | |
| ) | |
| (f32.const 0) | |
| ) | |
| ) |