diff options
Diffstat (limited to 'flang/lib/Lower/OpenMP/ReductionProcessor.cpp')
| -rw-r--r-- | flang/lib/Lower/OpenMP/ReductionProcessor.cpp | 6 |
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)) { |
