From d01917c507a3b195109001d1b9a91c4fbdbb5a71 Mon Sep 17 00:00:00 2001 From: Laszlo Kindrat Date: Thu, 25 May 2023 17:13:28 -0400 Subject: [PATCH] [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 --- lldb/include/lldb/Expression/ExpressionVariable.h | 2 ++ lldb/source/Expression/ExpressionVariable.cpp | 2 ++ 2 files changed, 4 insertions(+) diff --git a/lldb/include/lldb/Expression/ExpressionVariable.h b/lldb/include/lldb/Expression/ExpressionVariable.h index ad85a21..277b00a 100644 --- a/lldb/include/lldb/Expression/ExpressionVariable.h +++ b/lldb/include/lldb/Expression/ExpressionVariable.h @@ -207,6 +207,8 @@ public: /// 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 44ab1c2..f0a2898 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) { -- 2.7.4