;; NOTE: Assertions have been generated by update_lit_checks.py --all-items and should not be edited.

;; RUN: wasm-split %s --split-funcs=start_func,other -o1 %t.1.wasm -o2 %t.2.wasm -g 2>&1
;; RUN: wasm-dis -all %t.1.wasm | filecheck %s --check-prefix PRIMARY
;; RUN: wasm-dis -all %t.2.wasm | filecheck %s --check-prefix SECONDARY

;; Do not error on trying to split out the start function. It cannot be
;; split out, keep it in the primary module.

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

  ;; PRIMARY:      (start $start_func)

  ;; PRIMARY:      (func $start_func (type $0)
  ;; PRIMARY-NEXT: )
  (func $start_func)

  (start $start_func)

  ;; SECONDARY:      (type $0 (func))

  ;; SECONDARY:      (func $other (type $0)
  ;; SECONDARY-NEXT: )
  (func $other)
)


