emrekultursay created this revision. Herald added a project: LLDB. Herald added a subscriber: lldb-commits. emrekultursay added a child revision: D76806: Remove m_last_file_sp from SourceManager.
Lookup and subsequent insert was done using uninitialized FileSpec object, which caused the cache to be a no-op. Depends on D76804 <https://reviews.llvm.org/D76804>. Repository: rG LLVM Github Monorepo https://reviews.llvm.org/D76805 Files: lldb/source/Core/SourceManager.cpp Index: lldb/source/Core/SourceManager.cpp =================================================================== --- lldb/source/Core/SourceManager.cpp +++ lldb/source/Core/SourceManager.cpp @@ -696,7 +696,7 @@ } void SourceManager::SourceFileCache::AddSourceFile(const FileSP &file_sp) { - FileSpec file_spec; + FileSpec file_spec = file_sp->GetFileSpec();; FileCache::iterator pos = m_file_cache.find(file_spec); if (pos == m_file_cache.end()) m_file_cache[file_spec] = file_sp;
Index: lldb/source/Core/SourceManager.cpp =================================================================== --- lldb/source/Core/SourceManager.cpp +++ lldb/source/Core/SourceManager.cpp @@ -696,7 +696,7 @@ } void SourceManager::SourceFileCache::AddSourceFile(const FileSP &file_sp) { - FileSpec file_spec; + FileSpec file_spec = file_sp->GetFileSpec();; FileCache::iterator pos = m_file_cache.find(file_spec); if (pos == m_file_cache.end()) m_file_cache[file_spec] = file_sp;
_______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits