[lldb] Move definition of SBSaveCoreOptions dtor out of header (#102539)

This class is technically not usable in its current state. When you use
it in a simple C++ project, your compiler will complain about an
incomplete definition of SaveCoreOptions. Normally this isn't a problem,
other classes in the SBAPI do this. The difference is that
SBSaveCoreOptions has a default destructor in the header, so the
compiler will attempt to generate the code for the destructor with an
incomplete definition of the impl type.

All methods for every class, including constructors and destructors,
must have a separate implementation not in a header.
This commit is contained in:
Alex Langford
2024-08-09 12:50:42 -07:00
committed by GitHub
parent 2f6a879790
commit 101cf540e6
2 changed files with 3 additions and 1 deletions

View File

@@ -17,7 +17,7 @@ class LLDB_API SBSaveCoreOptions {
public:
SBSaveCoreOptions();
SBSaveCoreOptions(const lldb::SBSaveCoreOptions &rhs);
~SBSaveCoreOptions() = default;
~SBSaveCoreOptions();
const SBSaveCoreOptions &operator=(const lldb::SBSaveCoreOptions &rhs);

View File

@@ -29,6 +29,8 @@ SBSaveCoreOptions::SBSaveCoreOptions(const SBSaveCoreOptions &rhs) {
m_opaque_up = clone(rhs.m_opaque_up);
}
SBSaveCoreOptions::~SBSaveCoreOptions() = default;
const SBSaveCoreOptions &
SBSaveCoreOptions::operator=(const SBSaveCoreOptions &rhs) {
LLDB_INSTRUMENT_VA(this, rhs);