[llvm] Supports viewing class member variables in lambda when using the vs ebugger (PR #71564)
    via llvm-commits 
    llvm-commits at lists.llvm.org
       
    Tue Nov  7 09:39:51 PST 2023
    
    
  
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-debuginfo
Author: None (GkvJwa)
<details>
<summary>Changes</summary>
Use "__this" in DataMemberRecord, make vs debugger can be parsed normally
---
Full diff: https://github.com/llvm/llvm-project/pull/71564.diff
1 Files Affected:
- (modified) llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp (+3) 
``````````diff
diff --git a/llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp b/llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
index 3a9d5fa3b936e0e..a84ea6e4b2708d5 100644
--- a/llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
+++ b/llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
@@ -2605,6 +2605,9 @@ CodeViewDebug::lowerRecordFieldList(const DICompositeType *Ty) {
       MemberBaseType = TypeTable.writeLeafType(BFR);
     }
     uint64_t MemberOffsetInBytes = MemberOffsetInBits / 8;
+    if (Ty->getName().find_first_of("<lambda") != std::string::npos) {
+      MemberName = "__this";
+    }
     DataMemberRecord DMR(Access, MemberBaseType, MemberOffsetInBytes,
                          MemberName);
     ContinuationBuilder.writeMemberType(DMR);
``````````
</details>
https://github.com/llvm/llvm-project/pull/71564
    
    
More information about the llvm-commits
mailing list