Run DCE after a LoopFlatten test to reduce spurious output [nfc]
[llvm-project.git] / lldb / test / Shell / SymbolFile / DWARF / x86 / limit-debug-info.s
blob4bd0fc8a9b55e60babf9f264107ab40e2e957942
1 # REQUIRES: lld
2 # RUN: llvm-mc --triple=x86_64-pc-windows --filetype=obj --defsym DLL=0 %s >%t.dll.o
3 # RUN: llvm-mc --triple=x86_64-pc-windows --filetype=obj --defsym EXE=0 %s >%t.exe.o
4 # RUN: lld-link /OUT:%t.dll %t.dll.o /SUBSYSTEM:console /dll /noentry /debug
5 # RUN: lld-link /OUT:%t.exe %t.exe.o /SUBSYSTEM:console /debug /force
6 # RUN: %lldb %t.exe -o "target modules add %t.dll" -o "expression var" \
7 # RUN: -o exit 2>&1 | FileCheck %s
9 # CHECK: (lldb) expression var
10 # CHECK: (A) $0 = (member = 47)
12 .section .debug_abbrev,"dr"
13 .Lsection_abbrev:
14 .byte 1 # Abbreviation Code
15 .byte 17 # DW_TAG_compile_unit
16 .byte 1 # DW_CHILDREN_yes
17 .byte 37 # DW_AT_producer
18 .byte 8 # DW_FORM_string
19 .byte 0 # EOM(1)
20 .byte 0 # EOM(2)
21 .byte 2 # Abbreviation Code
22 .byte 52 # DW_TAG_variable
23 .byte 0 # DW_CHILDREN_no
24 .byte 3 # DW_AT_name
25 .byte 8 # DW_FORM_string
26 .byte 73 # DW_AT_type
27 .byte 19 # DW_FORM_ref4
28 .byte 2 # DW_AT_location
29 .byte 24 # DW_FORM_exprloc
30 .byte 0 # EOM(1)
31 .byte 0 # EOM(2)
32 .byte 3 # Abbreviation Code
33 .byte 19 # DW_TAG_structure_type
34 .byte 1 # DW_CHILDREN_yes
35 .byte 3 # DW_AT_name
36 .byte 8 # DW_FORM_string
37 .byte 11 # DW_AT_byte_size
38 .byte 11 # DW_FORM_data1
39 .byte 0 # EOM(1)
40 .byte 0 # EOM(2)
41 .byte 4 # Abbreviation Code
42 .byte 13 # DW_TAG_member
43 .byte 0 # DW_CHILDREN_no
44 .byte 3 # DW_AT_name
45 .byte 8 # DW_FORM_string
46 .byte 73 # DW_AT_type
47 .byte 19 # DW_FORM_ref4
48 .byte 56 # DW_AT_data_member_location
49 .byte 11 # DW_FORM_data1
50 .byte 0 # EOM(1)
51 .byte 0 # EOM(2)
52 .byte 5 # Abbreviation Code
53 .byte 36 # DW_TAG_base_type
54 .byte 0 # DW_CHILDREN_no
55 .byte 3 # DW_AT_name
56 .byte 8 # DW_FORM_string
57 .byte 62 # DW_AT_encoding
58 .byte 11 # DW_FORM_data1
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 19 # DW_TAG_structure_type
65 .byte 0 # DW_CHILDREN_no
66 .byte 3 # DW_AT_name
67 .byte 8 # DW_FORM_string
68 .byte 60 # DW_AT_declaration
69 .byte 25 # DW_FORM_flag_present
70 .byte 0 # EOM(1)
71 .byte 0 # EOM(2)
72 .byte 0 # EOM(3)
74 .ifdef DLL
75 .section .debug_info,"dr"
76 .Lsection_info:
77 .Lcu_begin0:
78 .long .Ldebug_info_end0-.Ldebug_info_start0 # Length of Unit
79 .Ldebug_info_start0:
80 .short 4 # DWARF version number
81 .secrel32 .Lsection_abbrev # Offset Into Abbrev. Section
82 .byte 8 # Address Size (in bytes)
83 .byte 1 # Abbrev [1] 0xb:0x4a DW_TAG_compile_unit
84 .asciz "Hand-written DWARF" # DW_AT_producer
85 .byte 3 # Abbrev [3] 0x37:0x16 DW_TAG_structure_type
86 .asciz "A" # DW_AT_name
87 .byte 4 # DW_AT_byte_size
88 .byte 4 # Abbrev [4] 0x40:0xc DW_TAG_member
89 .asciz "member" # DW_AT_name
90 .long .Lint-.Lsection_info # DW_AT_type
91 .byte 0 # DW_AT_data_member_location
92 .byte 0 # End Of Children Mark
93 .Lint:
94 .byte 5 # Abbrev [5] 0x4d:0x7 DW_TAG_base_type
95 .asciz "int" # DW_AT_name
96 .byte 5 # DW_AT_encoding
97 .byte 4 # DW_AT_byte_size
98 .byte 0 # End Of Children Mark
99 .Ldebug_info_end0:
100 .endif
102 .ifdef EXE
103 .data
104 .globl var
105 .p2align 2
106 var:
107 .long 47
109 .section .debug_info,"dr"
110 .Lsection_info:
111 .Lcu_begin0:
112 .long .Ldebug_info_end0-.Ldebug_info_start0 # Length of Unit
113 .Ldebug_info_start0:
114 .short 4 # DWARF version number
115 .secrel32 .Lsection_abbrev # Offset Into Abbrev. Section
116 .byte 8 # Address Size (in bytes)
117 .byte 1 # Abbrev [1] 0xb:0x4a DW_TAG_compile_unit
118 .asciz "Hand-written DWARF" # DW_AT_producer
119 .byte 2 # Abbrev [2] 0x1e:0x19 DW_TAG_variable
120 .asciz "var" # DW_AT_name
121 .long .LA-.Lsection_info # DW_AT_type
122 .byte 9 # DW_AT_location
123 .byte 3
124 .quad var
125 .LA:
126 .byte 6 # Abbrev [6] 0x37:0x16 DW_TAG_structure_type
127 .asciz "A" # DW_AT_name
128 # DW_AT_declaration
129 .byte 0 # End Of Children Mark
130 .Ldebug_info_end0:
131 .endif