@@ -250,6 +250,12 @@ public func copyableVarArgTest(_ k: inout Klass) {
250
250
// DWARF-NEXT: DW_AT_decl_line (
251
251
// DWARF-NEXT: DW_AT_type (
252
252
//
253
+ // DWARF: DW_TAG_variable
254
+ // DWARF-NEXT: DW_AT_location (
255
+ // DWARF-NEXT: DW_AT_name ("m")
256
+ // DWARF-NEXT: DW_AT_decl_file (
257
+ // DWARF-NEXT: DW_AT_decl_line (
258
+ // DWARF-NEXT: DW_AT_type (
253
259
public func addressOnlyValueTest< T : P > ( _ x: T ) {
254
260
let k = x
255
261
k. doSomething ( )
@@ -265,6 +271,33 @@ public func addressOnlyValueTest<T : P>(_ x: T) {
265
271
// CHECK: ret void
266
272
// CHECK-NEXT: }
267
273
//
274
+ // DWARF: DW_AT_linkage_name ("$s3out23addressOnlyValueArgTestyyxnAA1PRzlF")
275
+ // DWARF-NEXT: DW_AT_name ("addressOnlyValueArgTest")
276
+ // DWARF-NEXT: DW_AT_decl_file (
277
+ // DWARF-NEXT: DW_AT_decl_line (
278
+ // DWARF-NEXT: DW_AT_type (
279
+ // DWARF-NEXT: DW_AT_external (
280
+ //
281
+ // DWARF: DW_TAG_formal_parameter
282
+ // DWARF-NEXT: DW_AT_location (0x{{[a-z0-9]+}}:
283
+ // DWARF-NEXT: [0x{{[a-z0-9]+}}, 0x{{[a-z0-9]+}}):
284
+ // DWARF-NEXT: DW_AT_name ("k")
285
+ // DWARF-NEXT: DW_AT_decl_file (
286
+ // DWARF-NEXT: DW_AT_decl_line (
287
+ // DWARF-NEXT: DW_AT_type (
288
+ //
289
+ // DWARF: DW_TAG_variable
290
+ // DWARF-NEXT: DW_AT_location (
291
+ // DWARF-NEXT: DW_AT_name ("$\317\204_0_0")
292
+ // DWARF-NEXT: DW_AT_type (
293
+ // DWARF-NEXT: DW_AT_artificial (true)
294
+ //
295
+ // DWARF: DW_TAG_variable
296
+ // DWARF-NEXT: DW_AT_location (
297
+ // DWARF-NEXT: DW_AT_name ("m")
298
+ // DWARF-NEXT: DW_AT_decl_file (
299
+ // DWARF-NEXT: DW_AT_decl_line (
300
+ // DWARF-NEXT: DW_AT_type (
268
301
public func addressOnlyValueArgTest< T : P > ( _ k: __owned T) {
269
302
k. doSomething ( )
270
303
let m = consume k
@@ -279,6 +312,35 @@ public func addressOnlyValueArgTest<T : P>(_ k: __owned T) {
279
312
// CHECK: ret void
280
313
// CHECK-NEXT: }
281
314
//
315
+ // DWARF: DW_AT_linkage_name ("$s3out18addressOnlyVarTestyyxAA1PRzlF")
316
+ // DWARF-NEXT: DW_AT_name ("addressOnlyVarTest")
317
+ // DWARF-NEXT: DW_AT_decl_file (
318
+ // DWARF-NEXT: DW_AT_decl_line (
319
+ // DWARF-NEXT: DW_AT_type (
320
+ // DWARF-NEXT: DW_AT_external (
321
+ //
322
+ // DWARF: DW_TAG_formal_parameter
323
+ // DWARF-NEXT: DW_AT_location (
324
+ // DWARF-NEXT: DW_AT_name ("x")
325
+ // DWARF-NEXT: DW_AT_decl_file (
326
+ // DWARF-NEXT: DW_AT_decl_line (
327
+ // DWARF-NEXT: DW_AT_type (
328
+ //
329
+ // DWARF: DW_TAG_variable
330
+ // DWARF-NEXT: DW_AT_location (
331
+ // DWARF-NEXT: DW_AT_name ("$\317\204_0_0")
332
+ // DWARF-NEXT: DW_AT_type (
333
+ // DWARF-NEXT: DW_AT_artificial (true)
334
+ //
335
+ // DWARF: DW_TAG_variable
336
+ // DWARF-NEXT: DW_AT_location (0x{{[a-z0-9]+}}:
337
+ // DWARF-NEXT: [0x{{[a-z0-9]+}}, 0x{{[a-z0-9]+}}):
338
+ // TODO: Missing def in dbg info here.
339
+ // DWARF-NEXT: [0x{{[a-z0-9]+}}, 0x{{[a-z0-9]+}}):
340
+ // DWARF-NEXT: DW_AT_name ("k")
341
+ // DWARF-NEXT: DW_AT_decl_file (
342
+ // DWARF-NEXT: DW_AT_decl_line (
343
+ // DWARF-NEXT: DW_AT_type (
282
344
public func addressOnlyVarTest< T : P > ( _ x: T ) {
283
345
var k = x // << this
284
346
k. doSomething ( )
@@ -612,3 +674,4 @@ public func addressOnlyVarArgTestCCFlowReinitInBlockTest<T : P>(_ k: inout (any
612
674
// CHECK-DAG: ![[K_ADDRESSONLY_VAR_CCFLOW_REINIT_OUT_BLOCK_METADATA]] = !DILocalVariable(name: "k",
613
675
// CHECK-DAG: ![[K_ADDRESSONLY_VAR_CCFLOW_REINIT_IN_BLOCK_METADATA]] = !DILocalVariable(name: "k",
614
676
// CHECK-DAG: ![[K_COPYABLE_LET_CCFLOW_METADATA]] = !DILocalVariable(name: "k",
677
+
0 commit comments