Author: Johannes Doerfert Date: 2020-02-16T00:51:11-06:00 New Revision: 857bf5da35af8e1f9425e1865dab5f5fce5e38f2
URL: https://github.com/llvm/llvm-project/commit/857bf5da35af8e1f9425e1865dab5f5fce5e38f2 DIFF: https://github.com/llvm/llvm-project/commit/857bf5da35af8e1f9425e1865dab5f5fce5e38f2.diff LOG: [FIX] Do not copy an llvm::function_ref if it has to be reused Some buildbots signaled a problem in this method when the llvm::function_ref was copied and reused after 1228d42ddab8. To eliminate the problem we avoid copying the llvm::function_ref and instead we pass it as a const reference. Added: Modified: clang/include/clang/AST/OpenMPClause.h Removed: ################################################################################ diff --git a/clang/include/clang/AST/OpenMPClause.h b/clang/include/clang/AST/OpenMPClause.h index a3831fd5950f..453c068bbeb0 100644 --- a/clang/include/clang/AST/OpenMPClause.h +++ b/clang/include/clang/AST/OpenMPClause.h @@ -6682,10 +6682,10 @@ struct OMPTraitInfo { llvm::SmallVector<OMPTraitSet, 4> Sets; bool anyScoreOrCondition( - llvm::function_ref<bool(Expr *&, bool /* IsScore */)> Cond) { - return llvm::any_of(Sets, [Cond](OMPTraitInfo::OMPTraitSet &Set) { + const llvm::function_ref<bool(Expr *&, bool /* IsScore */)> &Cond) { + return llvm::any_of(Sets, [&Cond](OMPTraitInfo::OMPTraitSet &Set) { return llvm::any_of( - Set.Selectors, [Cond](OMPTraitInfo::OMPTraitSelector &Selector) { + Set.Selectors, [&Cond](OMPTraitInfo::OMPTraitSelector &Selector) { return Cond(Selector.ScoreOrCondition, /* IsScore */ Selector.Kind != llvm::omp::TraitSelector::user_condition); _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits