diff options
Diffstat (limited to 'lldb/source/Utility/Reproducer.cpp')
| -rw-r--r-- | lldb/source/Utility/Reproducer.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/lldb/source/Utility/Reproducer.cpp b/lldb/source/Utility/Reproducer.cpp index 4777d7576a3..e0806f5f598 100644 --- a/lldb/source/Utility/Reproducer.cpp +++ b/lldb/source/Utility/Reproducer.cpp @@ -143,12 +143,14 @@ static FileSpec MakeAbsolute(FileSpec file_spec) { return FileSpec(path, file_spec.GetPathStyle()); } -Generator::Generator(FileSpec root) - : m_root(MakeAbsolute(std::move(root))), m_done(false) { +Generator::Generator(FileSpec root) : m_root(MakeAbsolute(std::move(root))) { GetOrCreate<repro::WorkingDirectoryProvider>(); } -Generator::~Generator() {} +Generator::~Generator() { + if (!m_done) + Discard(); +} ProviderBase *Generator::Register(std::unique_ptr<ProviderBase> provider) { std::lock_guard<std::mutex> lock(m_providers_mutex); |

