summaryrefslogtreecommitdiff
path: root/flang/lib/Lower/OpenMP/ReductionProcessor.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'flang/lib/Lower/OpenMP/ReductionProcessor.cpp')
-rw-r--r--flang/lib/Lower/OpenMP/ReductionProcessor.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/flang/lib/Lower/OpenMP/ReductionProcessor.cpp b/flang/lib/Lower/OpenMP/ReductionProcessor.cpp
index 2477f635792a..0d05ca5aee65 100644
--- a/flang/lib/Lower/OpenMP/ReductionProcessor.cpp
+++ b/flang/lib/Lower/OpenMP/ReductionProcessor.cpp
@@ -496,8 +496,10 @@ void ReductionProcessor::addDeclareReduction(
*reductionSymbols) {
fir::FirOpBuilder &firOpBuilder = converter.getFirOpBuilder();
mlir::omp::DeclareReductionOp decl;
- const auto &redOperator{
- std::get<omp::clause::ReductionOperator>(reduction.t)};
+ const auto &redOperatorList{
+ std::get<omp::clause::Reduction::ReductionIdentifiers>(reduction.t)};
+ assert(redOperatorList.size() == 1 && "Expecting single operator");
+ const auto &redOperator = redOperatorList.front();
const auto &objectList{std::get<omp::ObjectList>(reduction.t)};
if (!std::holds_alternative<omp::clause::DefinedOperator>(redOperator.u)) {