[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:19 PST 2023
https://github.com/GkvJwa created https://github.com/llvm/llvm-project/pull/71564
Use "__this" in DataMemberRecord, make vs debugger can be parsed normally
>From 28745db1ff73210952c3ae27d080b250fc7e99c0 Mon Sep 17 00:00:00 2001
From: GkvJwa <gkvjwa at gmail.com>
Date: Wed, 8 Nov 2023 01:37:19 +0800
Subject: [PATCH] Supports viewing class member variables in lambda when using
the vs debugger
Use "__this" in DataMemberRecord, make vs debugger can be parsed normally
---
llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp | 3 +++
1 file changed, 3 insertions(+)
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);
More information about the llvm-commits
mailing list