From f7b0b99c52ee36ed6ca8abcce74a752e483768d6 Mon Sep 17 00:00:00 2001 From: Vlad Serebrennikov Date: Sat, 18 May 2024 12:10:06 +0300 Subject: [clang][NFC] Further improvements to const-correctness --- clang/include/clang/Serialization/ASTWriter.h | 3 ++- clang/lib/Basic/SourceManager.cpp | 6 +++--- clang/lib/Frontend/CompilerInstance.cpp | 3 +-- clang/lib/Serialization/ASTReader.cpp | 6 ++---- clang/lib/Serialization/ASTWriter.cpp | 23 +++++++++++------------ clang/lib/Serialization/ASTWriterStmt.cpp | 2 +- 6 files changed, 20 insertions(+), 23 deletions(-) diff --git a/clang/include/clang/Serialization/ASTWriter.h b/clang/include/clang/Serialization/ASTWriter.h index 7bb0e81..6aa2796 100644 --- a/clang/include/clang/Serialization/ASTWriter.h +++ b/clang/include/clang/Serialization/ASTWriter.h @@ -565,7 +565,8 @@ private: void GenerateNameLookupTable(const DeclContext *DC, llvm::SmallVectorImpl &LookupTable); - uint64_t WriteDeclContextLexicalBlock(ASTContext &Context, DeclContext *DC); + uint64_t WriteDeclContextLexicalBlock(ASTContext &Context, + const DeclContext *DC); uint64_t WriteDeclContextVisibleBlock(ASTContext &Context, DeclContext *DC); void WriteTypeDeclOffsets(); void WriteFileDeclIDsMap(); diff --git a/clang/lib/Basic/SourceManager.cpp b/clang/lib/Basic/SourceManager.cpp index afdb5b0..753601e 100644 --- a/clang/lib/Basic/SourceManager.cpp +++ b/clang/lib/Basic/SourceManager.cpp @@ -276,14 +276,14 @@ void SourceManager::AddLineNote(SourceLocation Loc, unsigned LineNo, std::pair LocInfo = getDecomposedExpansionLoc(Loc); bool Invalid = false; - const SLocEntry &Entry = getSLocEntry(LocInfo.first, &Invalid); + SLocEntry &Entry = getSLocEntry(LocInfo.first, &Invalid); if (!Entry.isFile() || Invalid) return; - const SrcMgr::FileInfo &FileInfo = Entry.getFile(); + SrcMgr::FileInfo &FileInfo = Entry.getFile(); // Remember that this file has #line directives now if it doesn't already. - const_cast(FileInfo).setHasLineDirectives(); + FileInfo.setHasLineDirectives(); (void) getLineTable(); diff --git a/clang/lib/Frontend/CompilerInstance.cpp b/clang/lib/Frontend/CompilerInstance.cpp index 66a45b8..6242b5a 100644 --- a/clang/lib/Frontend/CompilerInstance.cpp +++ b/clang/lib/Frontend/CompilerInstance.cpp @@ -411,8 +411,7 @@ static void InitializeFileRemapping(DiagnosticsEngine &Diags, SourceMgr.overrideFileContents(FromFile, RB.second->getMemBufferRef()); else SourceMgr.overrideFileContents( - FromFile, std::unique_ptr( - const_cast(RB.second))); + FromFile, std::unique_ptr(RB.second)); } // Remap files in the source manager (with other files). diff --git a/clang/lib/Serialization/ASTReader.cpp b/clang/lib/Serialization/ASTReader.cpp index 510f61d..f50f956 100644 --- a/clang/lib/Serialization/ASTReader.cpp +++ b/clang/lib/Serialization/ASTReader.cpp @@ -1649,8 +1649,7 @@ bool ASTReader::ReadSLocEntry(int ID) { FileCharacter = (SrcMgr::CharacteristicKind)Record[2]; FileID FID = SourceMgr.createFileID(*File, IncludeLoc, FileCharacter, ID, BaseOffset + Record[0]); - SrcMgr::FileInfo &FileInfo = - const_cast(SourceMgr.getSLocEntry(FID).getFile()); + SrcMgr::FileInfo &FileInfo = SourceMgr.getSLocEntry(FID).getFile(); FileInfo.NumCreatedFIDs = Record[5]; if (Record[3]) FileInfo.setHasLineDirectives(); @@ -1693,8 +1692,7 @@ bool ASTReader::ReadSLocEntry(int ID) { FileID FID = SourceMgr.createFileID(std::move(Buffer), FileCharacter, ID, BaseOffset + Offset, IncludeLoc); if (Record[3]) { - auto &FileInfo = - const_cast(SourceMgr.getSLocEntry(FID).getFile()); + auto &FileInfo = SourceMgr.getSLocEntry(FID).getFile(); FileInfo.setHasLineDirectives(); } break; diff --git a/clang/lib/Serialization/ASTWriter.cpp b/clang/lib/Serialization/ASTWriter.cpp index dd5d65b..2a107e4 100644 --- a/clang/lib/Serialization/ASTWriter.cpp +++ b/clang/lib/Serialization/ASTWriter.cpp @@ -3304,7 +3304,7 @@ static bool IsInternalDeclFromFileContext(const Decl *D) { /// \returns the offset of the DECL_CONTEXT_LEXICAL block within the /// bitstream, or 0 if no block was written. uint64_t ASTWriter::WriteDeclContextLexicalBlock(ASTContext &Context, - DeclContext *DC) { + const DeclContext *DC) { if (DC->decls_empty()) return 0; @@ -5698,8 +5698,8 @@ void ASTWriter::WriteDeclUpdatesBlocks(RecordDataImpl &OffsetsRecord) { break; case UPD_CXX_INSTANTIATED_DEFAULT_ARGUMENT: - Record.AddStmt(const_cast( - cast(Update.getDecl())->getDefaultArg())); + Record.writeStmtRef( + cast(Update.getDecl())->getDefaultArg()); break; case UPD_CXX_INSTANTIATED_DEFAULT_MEMBER_INITIALIZER: @@ -5713,8 +5713,7 @@ void ASTWriter::WriteDeclUpdatesBlocks(RecordDataImpl &OffsetsRecord) { Record.push_back(RD->isParamDestroyedInCallee()); Record.push_back(llvm::to_underlying(RD->getArgPassingRestrictions())); Record.AddCXXDefinitionData(RD); - Record.AddOffset(WriteDeclContextLexicalBlock( - *Context, const_cast(RD))); + Record.AddOffset(WriteDeclContextLexicalBlock(*Context, RD)); // This state is sometimes updated by template instantiation, when we // switch from the specialization referring to the template declaration @@ -6357,7 +6356,7 @@ void ASTRecordWriter::AddTemplateParameterList( AddDeclRef(P); if (const Expr *RequiresClause = TemplateParams->getRequiresClause()) { Record->push_back(true); - AddStmt(const_cast(RequiresClause)); + writeStmtRef(RequiresClause); } else { Record->push_back(false); } @@ -7814,7 +7813,7 @@ void ASTRecordWriter::writeOpenACCClause(const OpenACCClause *C) { case OpenACCClauseKind::If: { const auto *IC = cast(C); writeSourceLocation(IC->getLParenLoc()); - AddStmt(const_cast(IC->getConditionExpr())); + writeStmtRef(IC->getConditionExpr()); return; } case OpenACCClauseKind::Self: { @@ -7822,7 +7821,7 @@ void ASTRecordWriter::writeOpenACCClause(const OpenACCClause *C) { writeSourceLocation(SC->getLParenLoc()); writeBool(SC->hasConditionExpr()); if (SC->hasConditionExpr()) - AddStmt(const_cast(SC->getConditionExpr())); + writeStmtRef(SC->getConditionExpr()); return; } case OpenACCClauseKind::NumGangs: { @@ -7836,13 +7835,13 @@ void ASTRecordWriter::writeOpenACCClause(const OpenACCClause *C) { case OpenACCClauseKind::NumWorkers: { const auto *NWC = cast(C); writeSourceLocation(NWC->getLParenLoc()); - AddStmt(const_cast(NWC->getIntExpr())); + writeStmtRef(NWC->getIntExpr()); return; } case OpenACCClauseKind::VectorLength: { const auto *NWC = cast(C); writeSourceLocation(NWC->getLParenLoc()); - AddStmt(const_cast(NWC->getIntExpr())); + writeStmtRef(NWC->getIntExpr()); return; } case OpenACCClauseKind::Private: { @@ -7921,7 +7920,7 @@ void ASTRecordWriter::writeOpenACCClause(const OpenACCClause *C) { writeSourceLocation(AC->getLParenLoc()); writeBool(AC->hasIntExpr()); if (AC->hasIntExpr()) - AddStmt(const_cast(AC->getIntExpr())); + writeStmtRef(AC->getIntExpr()); return; } case OpenACCClauseKind::Wait: { @@ -7929,7 +7928,7 @@ void ASTRecordWriter::writeOpenACCClause(const OpenACCClause *C) { writeSourceLocation(WC->getLParenLoc()); writeBool(WC->getDevNumExpr()); if (const Expr *DNE = WC->getDevNumExpr()) - AddStmt(const_cast(DNE)); + writeStmtRef(DNE); writeSourceLocation(WC->getQueuesLoc()); writeOpenACCIntExprList(WC->getQueueIdExprs()); diff --git a/clang/lib/Serialization/ASTWriterStmt.cpp b/clang/lib/Serialization/ASTWriterStmt.cpp index 39aec31..6f7c368 100644 --- a/clang/lib/Serialization/ASTWriterStmt.cpp +++ b/clang/lib/Serialization/ASTWriterStmt.cpp @@ -473,7 +473,7 @@ addConstraintSatisfaction(ASTRecordWriter &Record, if (!Satisfaction.IsSatisfied) { Record.push_back(Satisfaction.NumRecords); for (const auto &DetailRecord : Satisfaction) { - Record.AddStmt(const_cast(DetailRecord.first)); + Record.writeStmtRef(DetailRecord.first); auto *E = DetailRecord.second.dyn_cast(); Record.push_back(E == nullptr); if (E) -- cgit v1.1