1# REQUIRES: x86
2
3# RUN: llvm-mc -triple=x86_64-pc-linux -filetype=obj %s > %t
4# RUN: %lldb %t -o "target variable integer structure" -o exit | FileCheck %s
5
6# CHECK: (_Atomic(int)) integer = 14159
7# CHECK: (_Atomic(struct_type)) structure = (member = 71828)
8
9        .data
10integer:
11        .long 14159
12structure:
13        .long 71828
14
15        .section        .debug_abbrev,"",@progbits
16        .byte   1                       # Abbreviation Code
17        .byte   17                      # DW_TAG_compile_unit
18        .byte   1                       # DW_CHILDREN_yes
19        .byte   37                      # DW_AT_producer
20        .byte   8                       # DW_FORM_string
21        .byte   19                      # DW_AT_language
22        .byte   5                       # DW_FORM_data2
23        .byte   0                       # EOM(1)
24        .byte   0                       # EOM(2)
25        .byte   2                       # Abbreviation Code
26        .byte   52                      # DW_TAG_variable
27        .byte   0                       # DW_CHILDREN_no
28        .byte   3                       # DW_AT_name
29        .byte   8                       # DW_FORM_string
30        .byte   73                      # DW_AT_type
31        .byte   19                      # DW_FORM_ref4
32        .byte   2                       # DW_AT_location
33        .byte   24                      # DW_FORM_exprloc
34        .byte   0                       # EOM(1)
35        .byte   0                       # EOM(2)
36        .byte   3                       # Abbreviation Code
37        .byte   71                      # DW_TAG_atomic_type
38        .byte   0                       # DW_CHILDREN_no
39        .byte   73                      # DW_AT_type
40        .byte   19                      # DW_FORM_ref4
41        .byte   0                       # EOM(1)
42        .byte   0                       # EOM(2)
43        .byte   4                       # Abbreviation Code
44        .byte   36                      # DW_TAG_base_type
45        .byte   0                       # DW_CHILDREN_no
46        .byte   3                       # DW_AT_name
47        .byte   8                       # DW_FORM_string
48        .byte   62                      # DW_AT_encoding
49        .byte   11                      # DW_FORM_data1
50        .byte   11                      # DW_AT_byte_size
51        .byte   11                      # DW_FORM_data1
52        .byte   0                       # EOM(1)
53        .byte   0                       # EOM(2)
54        .byte   5                       # Abbreviation Code
55        .byte   19                      # DW_TAG_structure_type
56        .byte   1                       # DW_CHILDREN_yes
57        .byte   3                       # DW_AT_name
58        .byte   8                       # DW_FORM_string
59        .byte   11                      # DW_AT_byte_size
60        .byte   11                      # DW_FORM_data1
61        .byte   0                       # EOM(1)
62        .byte   0                       # EOM(2)
63        .byte   6                       # Abbreviation Code
64        .byte   13                      # DW_TAG_member
65        .byte   0                       # DW_CHILDREN_no
66        .byte   3                       # DW_AT_name
67        .byte   8                       # DW_FORM_string
68        .byte   73                      # DW_AT_type
69        .byte   19                      # DW_FORM_ref4
70        .byte   56                      # DW_AT_data_member_location
71        .byte   11                      # DW_FORM_data1
72        .byte   0                       # EOM(1)
73        .byte   0                       # EOM(2)
74        .byte   0                       # EOM(3)
75
76        .section        .debug_info,"",@progbits
77.Lcu_begin0:
78        .long   .Ldebug_info_end0-.Ldebug_info_start0 # Length of Unit
79.Ldebug_info_start0:
80        .short  5                       # DWARF version number
81        .byte   1                       # DWARF Unit Type
82        .byte   8                       # Address Size (in bytes)
83        .long   .debug_abbrev           # Offset Into Abbrev. Section
84        .byte   1                       # Abbrev [1] 0xb:0x50 DW_TAG_compile_unit
85        .asciz  "Hand-written DWARF"    # DW_AT_producer
86        .short  12                      # DW_AT_language
87        .byte   2                       # Abbrev [2] DW_TAG_variable
88        .asciz  "integer"               # DW_AT_name
89        .long   .Latomic_int            # DW_AT_type
90        .byte   9                       # DW_AT_location
91        .byte   3
92        .quad   integer
93        .byte   2                       # Abbrev [2] DW_TAG_variable
94        .asciz  "structure"             # DW_AT_name
95        .long   .Latomic_struct         # DW_AT_type
96        .byte   9                       # DW_AT_location
97        .byte   3
98        .quad   structure
99.Latomic_int:
100        .byte   3                       # Abbrev [3] DW_TAG_atomic_type
101        .long   .Lint                   # DW_AT_type
102.Lint:
103        .byte   4                       # Abbrev [4] 0x53:0x7 DW_TAG_base_type
104        .asciz  "int"                   # DW_AT_name
105        .byte   5                       # DW_AT_encoding
106        .byte   4                       # DW_AT_byte_size
107.Latomic_struct:
108        .byte   3                       # Abbrev [3] DW_TAG_atomic_type
109        .long   .Lstruct                # DW_AT_type
110.Lstruct:
111        .byte   5                       # Abbrev [5] DW_TAG_structure_type
112        .asciz  "struct_type"           # DW_AT_name
113        .byte   4                       # DW_AT_byte_size
114        .byte   6                       # Abbrev [6] DW_TAG_member
115        .asciz  "member"                # DW_AT_name
116        .long   .Lint                   # DW_AT_type
117        .byte   0                       # DW_AT_data_member_location
118        .byte   0                       # End Of Children Mark
119        .byte   0                       # End Of Children Mark
120.Ldebug_info_end0:
121