llvm/llvm/test/DebugInfo/dwarfdump-loclist-basetyperef.test

# 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: