ABataev added inline comments.
================ Comment at: clang/lib/CodeGen/CGOpenMPRuntime.cpp:1499-1509 + OMPBuilder->pushFinalizationCB(std::move(FI)); + } + CGOpenMPOutlinedRegionInfo CGInfo(*CS, ThreadIDVar, CodeGen, InnermostKind, HasCancel, OutlinedHelperName); CodeGenFunction::CGCapturedStmtRAII CapInfoRAII(CGF, &CGInfo); + llvm::Function *Fn = CGF.GenerateOpenMPCapturedStmtFunction(*CS); ---------------- jdoerfert wrote: > ABataev wrote: > > Again, need RAII > There is no appropriate scope to put it in. You can check for `OMPBuilder` in the constructor/destructor. ================ Comment at: llvm/include/llvm/Frontend/OpenMPIRBuilder.h:69-71 + void pushFinalizationCB(FinalizationInfo &&FI) { + FinalizationStack.emplace_back(std::move(FI)); + } ---------------- jdoerfert wrote: > ABataev wrote: > > Maybe `push...` for const reference and `emplace...` for variadic template > > (just like in standard library)? > That would defeat the purpose of using move semantic. I can make it a push > but we will then have to copy and not move. You can use it in `emplace` version while `push...` function will rely on copy semantics. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D70258/new/ https://reviews.llvm.org/D70258 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits