Skip to content

Commit e931ae7

Browse files
[openmp] Fixes for schedule modifier
1 parent 0210c6d commit e931ae7

File tree

1 file changed

+7
-4
lines changed

1 file changed

+7
-4
lines changed

flang/lib/Lower/OpenMP.cpp

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -370,9 +370,12 @@ getScheduleModifiers(const Fortran::parser::OmpScheduleClause &x) {
370370
const auto &modType2 = std::get<
371371
std::optional<Fortran::parser::OmpScheduleModifier::Modifier2>>(
372372
modifier->t);
373-
if (modType2->v.v !=
374-
Fortran::parser::OmpScheduleModifierType::ModType::Simd)
373+
if (modType2 &&
374+
modType2->v.v !=
375+
Fortran::parser::OmpScheduleModifierType::ModType::Simd)
375376
return translateModifier(modType2->v);
377+
378+
return mlir::omp::ScheduleModifier::none;
376379
}
377380

378381
return translateModifier(modType1.v);
@@ -396,8 +399,8 @@ getSIMDModifier(const Fortran::parser::OmpScheduleClause &x) {
396399
const auto &modType2 = std::get<
397400
std::optional<Fortran::parser::OmpScheduleModifier::Modifier2>>(
398401
modifier->t);
399-
if (modType2->v.v ==
400-
Fortran::parser::OmpScheduleModifierType::ModType::Simd)
402+
if (modType2 && modType2->v.v ==
403+
Fortran::parser::OmpScheduleModifierType::ModType::Simd)
401404
return mlir::omp::ScheduleModifier::simd;
402405
}
403406
return mlir::omp::ScheduleModifier::none;

0 commit comments

Comments
 (0)