[Lldb-commits] [lldb] [LLDB] Use non synthetic value for MSVC smart ptr check (PR #148176)
via lldb-commits
lldb-commits at lists.llvm.org
Fri Jul 11 04:53:36 PDT 2025
https://github.com/Nerixyz updated https://github.com/llvm/llvm-project/pull/148176
>From 0e6da6450866758c2b8a0bca7ecc5b43f4ade268 Mon Sep 17 00:00:00 2001
From: Nerixyz <nerixdev at outlook.de>
Date: Fri, 11 Jul 2025 11:51:51 +0200
Subject: [PATCH 1/2] [LLDB] Use non synthetic value for MSVC smart ptr check
---
lldb/source/Plugins/Language/CPlusPlus/MsvcStlSmartPointer.cpp | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/lldb/source/Plugins/Language/CPlusPlus/MsvcStlSmartPointer.cpp b/lldb/source/Plugins/Language/CPlusPlus/MsvcStlSmartPointer.cpp
index 4a51879863f17..b5a85ab5deb8b 100644
--- a/lldb/source/Plugins/Language/CPlusPlus/MsvcStlSmartPointer.cpp
+++ b/lldb/source/Plugins/Language/CPlusPlus/MsvcStlSmartPointer.cpp
@@ -15,7 +15,8 @@
using namespace lldb;
bool lldb_private::formatters::IsMsvcStlSmartPointer(ValueObject &valobj) {
- return valobj.GetChildMemberWithName("_Ptr") != nullptr;
+ ValueObjectSP valobj_sp = valobj.GetNonSyntheticValue();
+ return valobj_sp->GetChildMemberWithName("_Ptr") != nullptr;
}
bool lldb_private::formatters::MsvcStlSmartPointerSummaryProvider(
>From 7bf41353db8fc3d1d02df602ca20a30edf53b860 Mon Sep 17 00:00:00 2001
From: nerix <nero.9 at hotmail.de>
Date: Fri, 11 Jul 2025 12:32:41 +0200
Subject: [PATCH 2/2] fix: check if non-synthetic exists
Co-authored-by: Michael Buch <michaelbuch12 at gmail.com>
---
.../Plugins/Language/CPlusPlus/MsvcStlSmartPointer.cpp | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/lldb/source/Plugins/Language/CPlusPlus/MsvcStlSmartPointer.cpp b/lldb/source/Plugins/Language/CPlusPlus/MsvcStlSmartPointer.cpp
index b5a85ab5deb8b..b1aecc4b6611a 100644
--- a/lldb/source/Plugins/Language/CPlusPlus/MsvcStlSmartPointer.cpp
+++ b/lldb/source/Plugins/Language/CPlusPlus/MsvcStlSmartPointer.cpp
@@ -15,8 +15,10 @@
using namespace lldb;
bool lldb_private::formatters::IsMsvcStlSmartPointer(ValueObject &valobj) {
- ValueObjectSP valobj_sp = valobj.GetNonSyntheticValue();
- return valobj_sp->GetChildMemberWithName("_Ptr") != nullptr;
+ if (auto valobj_sp = valobj.GetNonSyntheticValue())
+ return valobj_sp->GetChildMemberWithName("_Ptr") != nullptr;
+
+ return false;
}
bool lldb_private::formatters::MsvcStlSmartPointerSummaryProvider(
More information about the lldb-commits
mailing list