# RUN: yaml2obj %s -o %t.o
# RUN: llvm-dwarfdump -v -a %t.o | FileCheck %s

## This test checks that llvm-dwarfdump prints link
## to the parent of the current die:

## DW_TAG_base_type [3] (0x00000014) <<<<<

# CHECK: .o: file format
# CHECK: 0x0000000b: DW_TAG_compile_unit
# CHECK: 0x00000014:   DW_TAG_namespace [2] * (0x0000000b)
# CHECK: DW_TAG_base_type [3] (0x00000014)

--- !ELF
FileHeader:
  Class:   ELFCLASS64
  Data:    ELFDATA2LSB
  Type:    ET_EXEC
  Machine: EM_X86_64
DWARF:
  debug_abbrev:
    - Table:
      - Tag:      DW_TAG_compile_unit
        Children: DW_CHILDREN_yes
        Attributes:
          - Attribute: DW_AT_producer
            Form:      DW_FORM_string
      - Tag:      DW_TAG_namespace
        Children: DW_CHILDREN_yes
        Attributes:
          - Attribute: DW_AT_name
            Form:      DW_FORM_string
      - Tag:      DW_TAG_base_type
        Children: DW_CHILDREN_no
        Attributes:
          - Attribute: DW_AT_name
            Form:      DW_FORM_string
  debug_info:
    - Version: 4
      Entries:
        - AbbrCode: 1
          Values:
            - CStr: by_hand
        - AbbrCode: 2
          Values:
            - CStr: name 
        - AbbrCode: 3
          Values:
            - CStr: int
