[clang] [OpenMP] Support capturing structured bindings in OpenMP regions. (PR #190832)
Alexey Bataev via cfe-commits
cfe-commits at lists.llvm.org
Sun May 24 10:53:13 PDT 2026
================
@@ -4672,43 +4672,81 @@ static bool
buildCapturedStmtCaptureList(Sema &S, CapturedRegionScopeInfo *RSI,
SmallVectorImpl<CapturedStmt::Capture> &Captures,
SmallVectorImpl<Expr *> &CaptureInits) {
+ bool HasError = false; // Track if any errors occurred.
+ llvm::SmallPtrSet<VarDecl *, 4> CapturedDecomposed;
for (const sema::Capture &Cap : RSI->Captures) {
if (Cap.isInvalid())
continue;
+ ValueDecl *CapVar = nullptr;
+ if (Cap.isVariableCapture()) {
+ CapVar = Cap.getVariable();
+ if (auto *BD = dyn_cast<BindingDecl>(CapVar)) {
+ if (RSI->CapRegionKind == CR_OpenMP && BD->getHoldingVar()) {
----------------
alexey-bataev wrote:
Still the question about potential dead code here
https://github.com/llvm/llvm-project/pull/190832
More information about the cfe-commits
mailing list