| ;; 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 SECONDARY1 |
| ;; RUN: wasm-dis %t2.wasm | filecheck %s --check-prefix SECONDARY2 |
| |
| ;; Because global $e is used in both module1 ($split1) and module2 ($split2), $e |
| ;; will be exported / imported, but we don't need to export $f. |
| |
| (module |
| ;; PRIMARY: (type $0 (func)) |
| |
| ;; PRIMARY: (global $f i32 (i32.const 42)) |
| (global $f i32 (i32.const 42)) |
| ;; PRIMARY: (global $e i32 (global.get $f)) |
| (global $e i32 (global.get $f)) |
| |
| ;; PRIMARY: (export "global" (global $e)) |
| |
| ;; PRIMARY: (func $keep |
| ;; PRIMARY-NEXT: (nop) |
| ;; PRIMARY-NEXT: ) |
| (func $keep |
| (nop) |
| ) |
| |
| ;; SECONDARY1: (type $0 (func)) |
| |
| ;; SECONDARY1: (import "primary" "global" (global $e i32)) |
| |
| ;; SECONDARY1: (func $split1 |
| ;; SECONDARY1-NEXT: (drop |
| ;; SECONDARY1-NEXT: (global.get $e) |
| ;; SECONDARY1-NEXT: ) |
| ;; SECONDARY1-NEXT: ) |
| (func $split1 |
| (drop (global.get $e)) |
| ) |
| |
| ;; SECONDARY2: (type $0 (func)) |
| |
| ;; SECONDARY2: (import "primary" "global" (global $e i32)) |
| |
| ;; SECONDARY2: (func $split2 |
| ;; SECONDARY2-NEXT: (drop |
| ;; SECONDARY2-NEXT: (global.get $e) |
| ;; SECONDARY2-NEXT: ) |
| ;; SECONDARY2-NEXT: ) |
| (func $split2 |
| (drop (global.get $e)) |
| ) |
| ) |