[flang-commits] [flang] 119e9d5 - [flang][OpenMP] Fix build break after fe8b323f59

Krzysztof Parzyszek via flang-commits flang-commits at lists.llvm.org
Mon Feb 3 08:17:25 PST 2025


Author: Krzysztof Parzyszek
Date: 2025-02-03T10:17:10-06:00
New Revision: 119e9d5a93d1c49e7895771ae5da8999ee0b4a7a

URL: https://github.com/llvm/llvm-project/commit/119e9d5a93d1c49e7895771ae5da8999ee0b4a7a
DIFF: https://github.com/llvm/llvm-project/commit/119e9d5a93d1c49e7895771ae5da8999ee0b4a7a.diff

LOG: [flang][OpenMP] Fix build break after fe8b323f59

Replace structured bindings with references where they are captured in
a lambda.

Added: 
    

Modified: 
    flang/lib/Semantics/check-omp-structure.cpp

Removed: 
    


################################################################################
diff  --git a/flang/lib/Semantics/check-omp-structure.cpp b/flang/lib/Semantics/check-omp-structure.cpp
index 3a59809a0262af..70d4427df7aa3a 100644
--- a/flang/lib/Semantics/check-omp-structure.cpp
+++ b/flang/lib/Semantics/check-omp-structure.cpp
@@ -4718,7 +4718,12 @@ void OmpStructureChecker::CheckTraitSetSelector(
     CheckTraitSelectorList(traits);
 
     for (const parser::OmpTraitSelector &trait : traits) {
-      auto &[traitName, maybeProps]{trait.t};
+      // Don't use structured bindings here, because they cannot be captured
+      // before C++20.
+      auto &traitName = std::get<parser::OmpTraitSelectorName>(trait.t);
+      auto &maybeProps =
+          std::get<std::optional<parser::OmpTraitSelector::Properties>>(
+              trait.t);
 
       // Check allowed traits
       common::visit( //


        


More information about the flang-commits mailing list