# RUN: llvm-mc -filetype=obj -triple=wasm32-unknown-unknown %s -o %t.o
# RUN: llvm-mc -filetype=obj -triple=wasm32-unknown-unknown %S/Inputs/undefined-globals.s -o %t_globals.o
# RUN: wasm-ld --allow-undefined -o %t1.wasm %t.o %t_globals.o

.functype unused_undef_function (i64) -> (i64)
.functype used_undef_function () -> (i32)
.functype use_undef_global () -> (i64)

foo:
  .functype foo (i64) -> (i64)
  local.get 0
  call unused_undef_function
  end_function

.globl _start

_start:
  .functype _start () -> ()
  call used_undef_function
  drop
  call use_undef_global
  drop
  end_function

# RUN: obj2yaml %t1.wasm | FileCheck %s

# CHECK:        - Type:            IMPORT
# CHECK-NEXT:     Imports:
# CHECK-NEXT:       - Module:          env
# CHECK-NEXT:         Field:           used_undef_function
# CHECK-NEXT:         Kind:            FUNCTION
# CHECK-NEXT:         SigIndex:        0
# CHECK-NEXT:       - Module:          env
# CHECK-NEXT:         Field:           used_undef_global
# CHECK-NEXT:         Kind:            GLOBAL
# CHECK-NEXT:         GlobalType:      I64
# CHECK-NEXT:         GlobalMutable:   false
# CHECK-NEXT:   - Type:
# CHECK:        - Type:            CUSTOM
# CHECK-NEXT:     Name:            name
# CHECK-NEXT:     FunctionNames:
# CHECK-NEXT:       - Index:           0
# CHECK-NEXT:         Name:            used_undef_function
# CHECK-NEXT:       - Index:           1
# CHECK-NEXT:         Name:            _start
# CHECK-NEXT:       - Index:           2
# CHECK-NEXT:         Name:            use_undef_global
# CHECK-NEXT:     GlobalNames:
# CHECK-NEXT:       - Index:           0
# CHECK-NEXT:         Name:            used_undef_global
# CHECK-NEXT:       - Index:           1
# CHECK-NEXT:         Name:            __stack_pointer
# CHECK-NEXT: ...

# RUN: wasm-ld --no-gc-sections --allow-undefined \
# RUN:     -o %t1.no-gc.wasm %t.o %t_globals.o
# RUN: obj2yaml %t1.no-gc.wasm | FileCheck %s -check-prefix=NO-GC

# NO-GC:        - Type:            IMPORT
# NO-GC-NEXT:     Imports:
# NO-GC-NEXT:       - Module:          env
# NO-GC-NEXT:         Field:           unused_undef_function
# NO-GC-NEXT:         Kind:            FUNCTION
# NO-GC-NEXT:         SigIndex:        0
# NO-GC-NEXT:       - Module:          env
# NO-GC-NEXT:         Field:           used_undef_function
# NO-GC-NEXT:         Kind:            FUNCTION
# NO-GC-NEXT:         SigIndex:        1
# NO-GC-NEXT:       - Module:          env
# NO-GC-NEXT:         Field:           unused_undef_global
# NO-GC-NEXT:         Kind:            GLOBAL
# NO-GC-NEXT:         GlobalType:      I64
# NO-GC-NEXT:         GlobalMutable:   false
# NO-GC-NEXT:       - Module:          env
# NO-GC-NEXT:         Field:           used_undef_global
# NO-GC-NEXT:         Kind:            GLOBAL
# NO-GC-NEXT:         GlobalType:      I64
# NO-GC-NEXT:         GlobalMutable:   false
# NO-GC-NEXT:   - Type:
# NO-GC:        - Type:            CUSTOM
# NO-GC-NEXT:     Name:            name
# NO-GC-NEXT:     FunctionNames:
# NO-GC-NEXT:       - Index:           0
# NO-GC-NEXT:         Name:            unused_undef_function
# NO-GC-NEXT:       - Index:           1
# NO-GC-NEXT:         Name:            used_undef_function
# NO-GC-NEXT:       - Index:           2
# NO-GC-NEXT:         Name:            __wasm_call_ctors
# NO-GC-NEXT:       - Index:           3
# NO-GC-NEXT:         Name:            foo
# NO-GC-NEXT:       - Index:           4
# NO-GC-NEXT:         Name:            _start
# NO-GC-NEXT:       - Index:           5
# NO-GC-NEXT:         Name:            use_undef_global
# NO-GC-NEXT:     GlobalNames:
# NO-GC-NEXT:       - Index:           0
# NO-GC-NEXT:         Name:            unused_undef_global
# NO-GC-NEXT:       - Index:           1
# NO-GC-NEXT:         Name:            used_undef_global
# NO-GC-NEXT:       - Index:           2
# NO-GC-NEXT:         Name:            __stack_pointer
# NO-GC-NEXT: ...
