Author: Jan Svoboda Date: 2024-11-06T12:34:24-08:00 New Revision: bcb64e13172c9b894be03ccefcf967e99949b32a
URL: https://github.com/llvm/llvm-project/commit/bcb64e13172c9b894be03ccefcf967e99949b32a DIFF: https://github.com/llvm/llvm-project/commit/bcb64e13172c9b894be03ccefcf967e99949b32a.diff LOG: [clang][serialization] Reduce `ASTWriter::WriteSourceManagerBlock()` scope Added: Modified: clang/include/clang/Serialization/ASTWriter.h clang/lib/Serialization/ASTWriter.cpp Removed: ################################################################################ diff --git a/clang/include/clang/Serialization/ASTWriter.h b/clang/include/clang/Serialization/ASTWriter.h index 198dd01b8d07a0..918a9a635185b2 100644 --- a/clang/include/clang/Serialization/ASTWriter.h +++ b/clang/include/clang/Serialization/ASTWriter.h @@ -560,8 +560,7 @@ class ASTWriter : public ASTDeserializationListener, ASTFileSignature createSignatureForNamedModule() const; void WriteInputFiles(SourceManager &SourceMgr, HeaderSearchOptions &HSOpts); - void WriteSourceManagerBlock(SourceManager &SourceMgr, - const Preprocessor &PP); + void WriteSourceManagerBlock(SourceManager &SourceMgr); void WritePreprocessor(const Preprocessor &PP, bool IsModule); void WriteHeaderSearch(const HeaderSearch &HS); void WritePreprocessorDetail(PreprocessingRecord &PPRec, diff --git a/clang/lib/Serialization/ASTWriter.cpp b/clang/lib/Serialization/ASTWriter.cpp index 3b174cb539ebdb..0c244e73b30895 100644 --- a/clang/lib/Serialization/ASTWriter.cpp +++ b/clang/lib/Serialization/ASTWriter.cpp @@ -2234,8 +2234,7 @@ static void emitBlob(llvm::BitstreamWriter &Stream, StringRef Blob, /// entries for files that we actually need. In the common case (no /// errors), we probably won't have to create file entries for any of /// the files in the AST. -void ASTWriter::WriteSourceManagerBlock(SourceManager &SourceMgr, - const Preprocessor &PP) { +void ASTWriter::WriteSourceManagerBlock(SourceManager &SourceMgr) { RecordData Record; // Enter the source manager block. @@ -2323,8 +2322,8 @@ void ASTWriter::WriteSourceManagerBlock(SourceManager &SourceMgr, // We add one to the size so that we capture the trailing NULL // that is required by llvm::MemoryBuffer::getMemBuffer (on // the reader side). - std::optional<llvm::MemoryBufferRef> Buffer = - Content->getBufferOrNone(PP.getDiagnostics(), PP.getFileManager()); + std::optional<llvm::MemoryBufferRef> Buffer = Content->getBufferOrNone( + SourceMgr.getDiagnostics(), SourceMgr.getFileManager()); StringRef Name = Buffer ? Buffer->getBufferIdentifier() : ""; Stream.EmitRecordWithBlob(SLocBufferAbbrv, Record, StringRef(Name.data(), Name.size() + 1)); @@ -2334,8 +2333,8 @@ void ASTWriter::WriteSourceManagerBlock(SourceManager &SourceMgr, if (EmitBlob) { // Include the implicit terminating null character in the on-disk buffer // if we're writing it uncompressed. - std::optional<llvm::MemoryBufferRef> Buffer = - Content->getBufferOrNone(PP.getDiagnostics(), PP.getFileManager()); + std::optional<llvm::MemoryBufferRef> Buffer = Content->getBufferOrNone( + SourceMgr.getDiagnostics(), SourceMgr.getFileManager()); if (!Buffer) Buffer = llvm::MemoryBufferRef("<<<INVALID BUFFER>>>", ""); StringRef Blob(Buffer->getBufferStart(), Buffer->getBufferSize() + 1); @@ -5526,7 +5525,7 @@ ASTFileSignature ASTWriter::WriteASTCore(Sema &SemaRef, StringRef isysroot, WriteDeclAndTypes(Context); WriteFileDeclIDsMap(); - WriteSourceManagerBlock(Context.getSourceManager(), PP); + WriteSourceManagerBlock(PP.getSourceManager()); WriteComments(); WritePreprocessor(PP, isModule); WriteHeaderSearch(PP.getHeaderSearchInfo()); _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits