; RUN: llc -mtriple wasm32-unknown-unknown-wasm -O2 -filetype=obj %s -o - | llvm-readobj -r -s -expand-relocs | FileCheck %s

declare i32 @import1()
declare i32 @import2()
declare i32 @import3()

; call the imports to make sure they are included in the imports section
define hidden void @call_imports() #0 {
entry:
  %call = call i32 @import1()
  %call1 = call i32 @import2()
  ret void
}

; take the address of the third import.  This should generate a TABLE_INDEX
; relocation with index of 0 since its the first and only address taken
; function.
define hidden void @call_indirect() #0 {
entry:
  %adr = alloca i32 ()*, align 4
  store i32 ()* @import3, i32 ()** %adr, align 4
  ret void
}

; CHECK:   Section {
; CHECK:     Type: ELEM (0x9)
; CHECK:     Size: 7
; CHECK:   }

; CHECK: Relocations [
; CHECK:   Section (8) CODE {
; CHECK:     Relocation {
; CHECK:       Type: R_WEBASSEMBLY_FUNCTION_INDEX_LEB (0)
; CHECK:       Offset: 0x4
; CHECK:       Index: 0x0
; CHECK:     }
; CHECK:     Relocation {
; CHECK:       Type: R_WEBASSEMBLY_FUNCTION_INDEX_LEB (0)
; CHECK:       Offset: 0xB
; CHECK:       Index: 0x1
; CHECK:     }
; CHECK:     Relocation {
; CHECK:       Type: R_WEBASSEMBLY_TABLE_INDEX_SLEB (1)
; CHECK:       Offset: 0x1E
; CHECK:       Index: 0x0
; CHECK:     }
; CHECK:   }
