# REQUIRES: x86-registered-target
# This test checks whether llvm-dwarfdump correctly handles base type
# references when dumping the .debug_loclists section.
# When dumping the .debug_loclists section, the corresponding compile unit
# for a base type reference is not known and therefore it cannot be resolved.
# prettyPrintBaseTypeRef must handle this case by printing only reduced
# information without crashing.
# RUN: llvm-mc %s -filetype=obj -triple=x86_64 -o %t
# RUN: llvm-dwarfdump %t --debug-loclists | FileCheck %s
# CHECK: 0x0000000c:
# CHECK-NEXT: <default>: DW_OP_regval_type XMM0 <base_type ref: 0x2a>, DW_OP_stack_value
.section .debug_loclists,"",@progbits
.long .Ldebug_loc1-.Ldebug_loc0 # Length
.Ldebug_loc0:
.value 0x5 # Version
.byte 0x8 # Address size
.byte 0 # Segmen selector size
.long 0 # Offset entry count
.byte 0x5 # DW_LLE_default_location
.uleb128 0x4 # Loc expr size
.byte 0xa5 # DW_OP_regval_type
.uleb128 0x11 # XMM0
.uleb128 0x2a # <base_type ref: 0x2a>
.byte 0x9f # DW_OP_stack_value
.byte 0 # DW_LLE_end_of_list
.Ldebug_loc1: