File tree Expand file tree Collapse file tree 1 file changed +27
-1
lines changed
compiler/rustc_codegen_llvm/src/debuginfo Expand file tree Collapse file tree 1 file changed +27
-1
lines changed Original file line number Diff line number Diff line change @@ -131,6 +131,21 @@ fn build_fixed_size_array_di_node<'ll, 'tcx>(
131
131
)
132
132
} ;
133
133
134
+ if cpp_like_debuginfo ( cx. tcx ) {
135
+ let array_type_name = compute_debuginfo_type_name ( cx. tcx , array_type, false ) ;
136
+ di_node = unsafe {
137
+ llvm:: LLVMRustDIBuilderCreateTypedef (
138
+ DIB ( cx) ,
139
+ di_node,
140
+ array_type_name. as_c_char_ptr ( ) ,
141
+ array_type_name. len ( ) ,
142
+ unknown_file_metadata ( cx) ,
143
+ UNKNOWN_LINE_NUMBER ,
144
+ None ,
145
+ )
146
+ } ;
147
+ }
148
+
134
149
DINodeCreationResult :: new ( di_node, false )
135
150
}
136
151
@@ -180,8 +195,19 @@ fn build_pointer_or_reference_di_node<'ll, 'tcx>(
180
195
pointer_align. abi ,
181
196
& ptr_type_debuginfo_name,
182
197
) ;
198
+ let typedefed_ptr = unsafe {
199
+ llvm:: LLVMRustDIBuilderCreateTypedef (
200
+ DIB ( cx) ,
201
+ di_node,
202
+ ptr_type_debuginfo_name. as_c_char_ptr ( ) ,
203
+ ptr_type_debuginfo_name. len ( ) ,
204
+ unknown_file_metadata ( cx) ,
205
+ UNKNOWN_LINE_NUMBER ,
206
+ None ,
207
+ )
208
+ } ;
183
209
184
- DINodeCreationResult { di_node, already_stored_in_typemap : false }
210
+ DINodeCreationResult { di_node : typedefed_ptr , already_stored_in_typemap : false }
185
211
}
186
212
Some ( wide_pointer_kind) => {
187
213
type_map:: build_type_with_children (
You can’t perform that action at this time.
0 commit comments