1 # Test that we can decode `DW_OP_implicit_pointer` (0xa0)
2 # RUN: yaml2obj %s | llvm-dwarfdump - | FileCheck %s
4 # CHECK: DW_TAG_variable
5 # CHECK-NEXT: DW_AT_location (DW_OP_implicit_pointer 0x2a +4)
17 Tag: DW_TAG_compile_unit
18 Children: DW_CHILDREN_yes
20 - Attribute: DW_AT_language
22 - Attribute: DW_AT_low_pc
24 - Attribute: DW_AT_high_pc
27 Tag: DW_TAG_subprogram
28 Children: DW_CHILDREN_yes
30 - Attribute: DW_AT_low_pc
32 - Attribute: DW_AT_high_pc
34 - Attribute: DW_AT_frame_base
37 Tag: DW_TAG_formal_parameter
38 Children: DW_CHILDREN_no
40 - Attribute: DW_AT_location
44 Children: DW_CHILDREN_no
46 - Attribute: DW_AT_location
51 UnitType: DW_UT_compile
55 - AbbrCode: 0x00000001
57 - Value: 0x000000000000000C
58 - Value: 0x0000000100000F50
59 - Value: 0x0000000000000034
60 - AbbrCode: 0x00000002
62 - Value: 0x0000000100000F50
63 - Value: 0x0000000000000034
64 - Value: 0x0000000000000001
67 - AbbrCode: 0x00000003
69 - Value: 0x0000000000000002
73 - AbbrCode: 0x00000004
75 - Value: 0x0000000000000006
77 - 0xa0 # DW_OP_implicit_pointer
78 - 0x2a # Section offset of parameter in the previous entry
82 - 0x04 # Pointer references location 4 bytes into value of previous entry
83 - AbbrCode: 0x00000000
85 - AbbrCode: 0x00000000