@@ -205,6 +205,57 @@ public func varSimpleTest<T>(_ msg: inout T, _ msg2: T) async {
205205// CHECK-LABEL: define internal swifttailcc void @"$s27move_function_dbginfo_async16varSimpleTestVaryyYaFTY4_"(i8* swiftasync %0)
206206// CHECK: call void @llvm.dbg.value(metadata %T27move_function_dbginfo_async5KlassC** undef, metadata ![[METADATA:[0-9]+]], metadata !DIExpression()), !dbg ![[ADDR_LOC:[0-9]+]]
207207// CHECK: call void @llvm.dbg.addr(metadata i8* %0, metadata ![[METADATA]], metadata !DIExpression(DW_OP_plus_uconst, 16, DW_OP_plus_uconst, 8)), !dbg ![[ADDR_LOC]]
208+
209+ // We are not an argument, so no problem here.
210+ //
211+ // DWARF: DW_AT_linkage_name ("$s3out16varSimpleTestVaryyYaF")
212+ //
213+ // DWARF: DW_AT_linkage_name ("$s3out16varSimpleTestVaryyYaFTY0_")
214+ // DWARF: DW_TAG_variable
215+ // DWARF-NEXT: DW_AT_location
216+ // DWARF-NEXT: DW_AT_name ("m")
217+ //
218+ // DWARF: DW_TAG_variable
219+ // DWARF-NEXT: DW_AT_location (DW_OP_entry_value(DW_OP_reg14 R14), DW_OP_plus_uconst 0x10, DW_OP_plus_uconst 0x8)
220+ // DWARF-NEXT: DW_AT_name ("k")
221+ //
222+ // DWARF: DW_AT_linkage_name ("$s3out16varSimpleTestVaryyYaFTQ1_")
223+ // DWARF: DW_TAG_variable
224+ // DWARF-NEXT: DW_AT_location (DW_OP_entry_value(DW_OP_reg14 R14), DW_OP_deref, DW_OP_plus_uconst 0x10, DW_OP_plus_uconst 0x10)
225+ // DWARF-NEXT: DW_AT_name ("m")
226+ //
227+ // DWARF: DW_TAG_variable
228+ // DWARF-NEXT: DW_AT_location (DW_OP_entry_value(DW_OP_reg14 R14), DW_OP_deref, DW_OP_plus_uconst 0x10, DW_OP_plus_uconst 0x8)
229+ // DWARF-NEXT: DW_AT_name ("k")
230+ //
231+ // DWARF: DW_AT_linkage_name ("$s3out16varSimpleTestVaryyYaFTY2_")
232+ // DWARF: DW_TAG_variable
233+ // DWARF-NEXT: DW_AT_location
234+ // DWARF-NEXT: DW_AT_name ("m")
235+ //
236+ // DWARF: DW_TAG_variable
237+ // DWARF-NEXT: DW_AT_location (0x{{[0-9a-f]+}}:
238+ // DWARF-NEXT: [0x{{[0-9a-f]+}}, 0x{{[0-9a-f]+}}): DW_OP_entry_value(DW_OP_reg14 R14), DW_OP_plus_uconst 0x10, DW_OP_plus_uconst 0x8)
239+ // DWARF-NEXT: DW_AT_name ("k")
240+ //
241+ // DWARF: DW_AT_linkage_name ("$s3out16varSimpleTestVaryyYaFTQ3_")
242+ // DWARF: DW_TAG_variable
243+ // DWARF-NEXT: DW_AT_location (DW_OP_entry_value(DW_OP_reg14 R14), DW_OP_deref, DW_OP_plus_uconst 0x10, DW_OP_plus_uconst 0x10)
244+ // DWARF-NEXT: DW_AT_name ("m")
245+ // K is dead here.
246+ // DWARF: DW_TAG_variable
247+ // DWARF-NEXT: DW_AT_name ("k")
248+ //
249+ // We reinitialize k in 4.
250+ // DWARF: DW_AT_linkage_name ("$s3out16varSimpleTestVaryyYaFTY4_")
251+ // DWARF: DW_TAG_variable
252+ // DWARF-NEXT: DW_AT_location (DW_OP_entry_value(DW_OP_reg14 R14), DW_OP_plus_uconst 0x10, DW_OP_plus_uconst 0x10)
253+ // DWARF-NEXT: DW_AT_name ("m")
254+ //
255+ // DWARF: DW_TAG_variable
256+ // DWARF-NEXT: DW_AT_location (0x{{[0-9a-f]+}}:
257+ // DWARF-NEXT: [0x{{[0-9a-f]+}}, 0x{{[0-9a-f]+}}): DW_OP_entry_value(DW_OP_reg14 R14), DW_OP_plus_uconst 0x10, DW_OP_plus_uconst 0x8)
258+ // DWARF-NEXT: DW_AT_name ("k")
208259public func varSimpleTestVar( ) async {
209260 var k = Klass ( )
210261 k. doSomething ( )
0 commit comments