[Lldb-commits] [lldb] d01917c - [LLDB] Explicitly declare constructor in `PersistentExpressionState`

Laszlo Kindrat via lldb-commits lldb-commits at lists.llvm.org
Fri May 26 06:36:08 PDT 2023


Author: Laszlo Kindrat
Date: 2023-05-26T09:25:44-04:00
New Revision: d01917c507a3b195109001d1b9a91c4fbdbb5a71

URL: https://github.com/llvm/llvm-project/commit/d01917c507a3b195109001d1b9a91c4fbdbb5a71
DIFF: https://github.com/llvm/llvm-project/commit/d01917c507a3b195109001d1b9a91c4fbdbb5a71.diff

LOG: [LLDB] Explicitly declare constructor in `PersistentExpressionState`

It seems that when trying to link the lldb library explicitly, the inlined default constructor cannot find the vtable for the class. This patch fixes this by explicitly declaring a default constructor in `PersistentExpressionState`, and providing the definition in the source file.

Differential Revision: https://reviews.llvm.org/D151501

Added: 
    

Modified: 
    lldb/include/lldb/Expression/ExpressionVariable.h
    lldb/source/Expression/ExpressionVariable.cpp

Removed: 
    


################################################################################
diff  --git a/lldb/include/lldb/Expression/ExpressionVariable.h b/lldb/include/lldb/Expression/ExpressionVariable.h
index ad85a21df5115..277b00a916686 100644
--- a/lldb/include/lldb/Expression/ExpressionVariable.h
+++ b/lldb/include/lldb/Expression/ExpressionVariable.h
@@ -207,6 +207,8 @@ class PersistentExpressionState
   /// LLVM RTTI support
   static char ID;
 
+  PersistentExpressionState();
+
   virtual ~PersistentExpressionState();
 
   virtual lldb::ExpressionVariableSP

diff  --git a/lldb/source/Expression/ExpressionVariable.cpp b/lldb/source/Expression/ExpressionVariable.cpp
index 44ab1c2d0b436..f0a28988822fa 100644
--- a/lldb/source/Expression/ExpressionVariable.cpp
+++ b/lldb/source/Expression/ExpressionVariable.cpp
@@ -34,6 +34,8 @@ uint8_t *ExpressionVariable::GetValueBytes() {
 
 char PersistentExpressionState::ID;
 
+PersistentExpressionState::PersistentExpressionState() = default;
+
 PersistentExpressionState::~PersistentExpressionState() = default;
 
 lldb::addr_t PersistentExpressionState::LookupSymbol(ConstString name) {


        


More information about the lldb-commits mailing list