[clang] [OpenMP] Support capturing structured bindings in OpenMP regions. (PR #190832)
Alexey Bataev via cfe-commits
cfe-commits at lists.llvm.org
Sat May 9 09:14:40 PDT 2026
================
@@ -3589,6 +3589,50 @@ static bool canEmitSpuriousReferenceToVariable(CodeGenFunction &CGF,
}
}
+/// Emit an LValue for a structured binding captured in an OpenMP region.
+/// Handles extracting individual bindings from the captured decomposed
+/// declaration (struct fields, array elements, etc.).
+LValue CodeGenFunction::EmitOMPCapturedBindingLValue(const BindingDecl *BD) {
+ assert(CapturedStmtInfo &&
+ CapturedStmtInfo->getKind() == CapturedRegionKind::CR_OpenMP &&
----------------
alexey-bataev wrote:
The triple condition in this assert is odd. `CapturedStmtInfo` and its kind being `CR_OpenMP` already implies OpenMP. Splitting into separate `assert` statements would help diagnose which precondition fails when the assertion triggers.
https://github.com/llvm/llvm-project/pull/190832
More information about the cfe-commits
mailing list