Author: Manna, Soumi Date: 2023-05-05T14:34:36-07:00 New Revision: 07996804a0c0290a4ee5d964a94333894c7792c2
URL: https://github.com/llvm/llvm-project/commit/07996804a0c0290a4ee5d964a94333894c7792c2 DIFF: https://github.com/llvm/llvm-project/commit/07996804a0c0290a4ee5d964a94333894c7792c2.diff LOG: [NFC] ][CLANG] Fix static code analyzer concerns Reported by Coverity: 1. Inside "ASTReader.cpp" file, in clang::ASTReader::FindExternalLexicalDecls(clang::DeclContext const *, llvm::function_ref<bool (clang::Decl::Kind)>, llvm::SmallVectorImpl<clang::Decl *> &): Using the auto keyword without an & causes a copy. auto_causes_copy: Using the auto keyword without an & causes the copy of an object of type pair. 2. Inside "ASTReader.cpp" file, in clang::ASTReader::ReadAST(llvm::StringRef, clang::serialization::ModuleKind, clang::SourceLocation, unsigned int, llvm::SmallVectorImpl<clang::ASTReader::ImportedSubmodule> *): Using the auto keyword without an & causes a copy. auto_causes_copy: Using the auto keyword without an & causes the copy of an object of type DenseMapPair. 3. Inside "CGOpenMPRuntimeGPU.cpp" file, in clang::CodeGen::CGOpenMPRuntimeGPU::emitGenericVarsEpilog(clang::CodeGen::CodeGenFunction &, bool): Using the auto keyword without an & causes a copy. auto_causes_copy: Using the auto keyword without an & causes the copy of an object of type pair. 4. Inside "ASTWriter.cpp" file, in clang::ASTWriter::WriteHeaderSearch(clang::HeaderSearch const &): Using the auto keyword without an & causes a copy. auto_causes_copy: Using the auto keyword without an & causes the copy of an object of type UnresolvedHeaderDirective. Reviewed By: tahonermann Differential Revision: https://reviews.llvm.org/D149461 Added: Modified: clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp clang/lib/Serialization/ASTReader.cpp clang/lib/Serialization/ASTWriter.cpp Removed: ################################################################################ diff --git a/clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp b/clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp index 3f231703aa651..68c4fc872e3b8 100644 --- a/clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp +++ b/clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp @@ -1128,7 +1128,7 @@ void CGOpenMPRuntimeGPU::emitGenericVarsEpilog(CodeGenFunction &CGF, const auto I = FunctionGlobalizedDecls.find(CGF.CurFn); if (I != FunctionGlobalizedDecls.end()) { // Deallocate the memory for each globalized VLA object - for (auto AddrSizePair : + for (const auto &AddrSizePair : llvm::reverse(I->getSecond().EscapedVariableLengthDeclsAddrs)) { CGF.EmitRuntimeCall(OMPBuilder.getOrCreateRuntimeFunction( CGM.getModule(), OMPRTL___kmpc_free_shared), diff --git a/clang/lib/Serialization/ASTReader.cpp b/clang/lib/Serialization/ASTReader.cpp index 6a7bc22d3b7b3..13fec49e841cc 100644 --- a/clang/lib/Serialization/ASTReader.cpp +++ b/clang/lib/Serialization/ASTReader.cpp @@ -4425,7 +4425,7 @@ ASTReader::ASTReadResult ASTReader::ReadAST(StringRef FileName, Id->second->setOutOfDate(true); } // Mark selectors as out of date. - for (auto Sel : SelectorGeneration) + for (const auto &Sel : SelectorGeneration) SelectorOutOfDate[Sel.first] = true; // Resolve any unresolved module exports. @@ -7693,7 +7693,7 @@ void ASTReader::FindExternalLexicalDecls( }; if (isa<TranslationUnitDecl>(DC)) { - for (auto Lexical : TULexicalDecls) + for (const auto &Lexical : TULexicalDecls) Visit(Lexical.first, Lexical.second); } else { auto I = LexicalDecls.find(DC); diff --git a/clang/lib/Serialization/ASTWriter.cpp b/clang/lib/Serialization/ASTWriter.cpp index 3d738149febcb..94c851d2dbf16 100644 --- a/clang/lib/Serialization/ASTWriter.cpp +++ b/clang/lib/Serialization/ASTWriter.cpp @@ -1884,7 +1884,7 @@ void ASTWriter::WriteHeaderSearch(const HeaderSearch &HS) { // If the file didn't exist, we can still create a module if we were given // enough information in the module map. - for (auto U : M->MissingHeaders) { + for (const auto &U : M->MissingHeaders) { // Check that we were given enough information to build a module // without this file existing on disk. if (!U.Size || (!U.ModTime && IncludeTimestamps)) { _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits