## Test that llvm-objdump can display nested OffloadBinary images.

# RUN: yaml2obj %S/Inputs/inner.yaml -o %t-inner.bin
# RUN: %python -c "import sys; hex = open('%/t-inner.bin', 'rb').read().hex(); test = open('%/s', 'r').read(); sys.stdout.write(test.replace('INNER_IMAGE', hex))" | yaml2obj - -o %t.bin
# RUN: llvm-objdump --offloading %t.bin | FileCheck --match-full-lines --strict-whitespace --implicit-check-not={{.}} %s

!Offload
Members:
  - ImageKind:      IMG_Object
    OffloadKind:    OFK_OpenMP
    String:
    - Key:            "triple"
      Value:          "x-y-z"
    - Key:            "arch"
      Value:          "none"
    Content:        INNER_IMAGE
  - ImageKind:      IMG_Object
    OffloadKind:    OFK_OpenMP
    String:
    - Key:            "triple"
      Value:          "a-b-c"
    - Key:            "arch"
      Value:          "none"
    Content:        INNER_IMAGE

#      CHECK:OFFLOADING IMAGE [0]:
# CHECK-NEXT:kind            elf
# CHECK-NEXT:arch            none
# CHECK-NEXT:triple          x-y-z
# CHECK-NEXT:producer        openmp
# CHECK-NEXT:image size      {{[0-9]+}} bytes
# CHECK-NEXT:nested images   2
# CHECK-EMPTY:
# CHECK-NEXT:  OFFLOADING IMAGE [0.0]:
# CHECK-NEXT:  kind            llvm ir
# CHECK-NEXT:  arch            arch1
# CHECK-NEXT:  triple          x-y-z
# CHECK-NEXT:  producer        openmp
# CHECK-NEXT:  image size      {{[0-9]+}} bytes
# CHECK-EMPTY:
# CHECK-NEXT:  OFFLOADING IMAGE [0.1]:
# CHECK-NEXT:  kind            llvm ir
# CHECK-NEXT:  arch            arch2
# CHECK-NEXT:  triple          x-y-z
# CHECK-NEXT:  producer        openmp
# CHECK-NEXT:  image size      {{[0-9]+}} bytes
# CHECK-EMPTY:
# CHECK-NEXT:OFFLOADING IMAGE [1]:
# CHECK-NEXT:kind            elf
# CHECK-NEXT:arch            none
# CHECK-NEXT:triple          a-b-c
# CHECK-NEXT:producer        openmp
# CHECK-NEXT:image size      {{[0-9]+}} bytes
# CHECK-NEXT:nested images   2
# CHECK-EMPTY:
# CHECK-NEXT:  OFFLOADING IMAGE [1.0]:
# CHECK-NEXT:  kind            llvm ir
# CHECK-NEXT:  arch            arch1
# CHECK-NEXT:  triple          x-y-z
# CHECK-NEXT:  producer        openmp
# CHECK-NEXT:  image size      {{[0-9]+}} bytes
# CHECK-EMPTY:
# CHECK-NEXT:  OFFLOADING IMAGE [1.1]:
# CHECK-NEXT:  kind            llvm ir
# CHECK-NEXT:  arch            arch2
# CHECK-NEXT:  triple          x-y-z
# CHECK-NEXT:  producer        openmp
# CHECK-NEXT:  image size      {{[0-9]+}} bytes
