;; NOTE: Assertions have been generated by update_lit_checks.py --output=fuzz-exec and should not be edited.

;; RUN: wasm-opt %s -all --fuzz-exec -q -o /dev/null 2>&1 | filecheck %s

(module
 (type $i32 (func (result i32)))

 (table $table i64 10 funcref)
 (elem (i64.const 0) $i32-a $i32-b)

 (func $i32-a (result i32)
  (i32.const 42)
 )

 (func $i32-b (result i32)
  (i32.const 1337)
 )

 ;; CHECK:      [fuzz-exec] export call-a
 ;; CHECK-NEXT: [fuzz-exec] note result: call-a => 42
 (func $call-a (export "call-a") (result i32)
  ;; This call succeeds, and calls $i32-a which returns 42.
  (call_indirect (type $i32)
   (i64.const 0)
  )
 )

 ;; CHECK:      [fuzz-exec] export call-b
 ;; CHECK-NEXT: [fuzz-exec] note result: call-b => 1337
 (func $call-b (export "call-b") (result i32)
  ;; This call succeeds, and calls $i32-b which returns 1337.
  (call_indirect (type $i32)
   (i64.const 1)
  )
 )

 ;; CHECK:      [fuzz-exec] export oob
 ;; CHECK-NEXT: [trap out of bounds table access]
 (func $oob (export "oob") (result i32)
  ;; This call traps on oob.
  (call_indirect (type $i32)
   (i64.const 999)
  )
 )

 ;; CHECK:      [fuzz-exec] export oob-huge
 ;; CHECK-NEXT: [trap out of bounds table access]
 (func $oob-huge (export "oob-huge") (result i32)
  ;; This call traps on oob with a value over 32 bits, 2**32 + 1, which if we
  ;; truncated to 32 bits, would seem in bounds, and end up calling a valid
  ;; function.
  (call_indirect (type $i32)
   (i64.add
    (i64.const 0x100000000)
    (i64.const 1)
   )
  )
 )

 ;; CHECK:      [fuzz-exec] export null
 ;; CHECK-NEXT: [trap null target in call_indirect]
 (func $null (export "null") (result i32)
  ;; This call traps on null
  (call_indirect (type $i32)
   (i64.const 2)
  )
 )
)

;; CHECK:      [fuzz-exec] export call-a
;; CHECK-NEXT: [fuzz-exec] note result: call-a => 42

;; CHECK:      [fuzz-exec] export call-b
;; CHECK-NEXT: [fuzz-exec] note result: call-b => 1337

;; CHECK:      [fuzz-exec] export oob
;; CHECK-NEXT: [trap out of bounds table access]

;; CHECK:      [fuzz-exec] export oob-huge
;; CHECK-NEXT: [trap out of bounds table access]

;; CHECK:      [fuzz-exec] export null
;; CHECK-NEXT: [trap null target in call_indirect]
;; CHECK-NEXT: [fuzz-exec] comparing call-a
;; CHECK-NEXT: [fuzz-exec] comparing call-b
;; CHECK-NEXT: [fuzz-exec] comparing null
;; CHECK-NEXT: [fuzz-exec] comparing oob
;; CHECK-NEXT: [fuzz-exec] comparing oob-huge
