@@ -396,8 +396,6 @@ makePrescriptiveness(parser::OmpPrescriptiveness::Value v) {
396396 switch (v) {
397397 case parser::OmpPrescriptiveness::Value::Strict:
398398 return clause::Prescriptiveness::Strict;
399- case parser::OmpPrescriptiveness::Value::Fallback:
400- return clause::Prescriptiveness::Fallback;
401399 }
402400 llvm_unreachable (" Unexpected prescriptiveness" );
403401}
@@ -799,21 +797,31 @@ DynGroupprivate make(const parser::OmpClause::DynGroupprivate &inp,
799797 semantics::SemanticsContext &semaCtx) {
800798 // imp.v -> OmpDyngroupprivateClause
801799 CLAUSET_ENUM_CONVERT ( //
802- convert, parser::OmpAccessGroup::Value, DynGroupprivate::AccessGroup,
800+ makeAccessGroup, parser::OmpAccessGroup::Value,
801+ DynGroupprivate::AccessGroup,
803802 // clang-format off
804803 MS (Cgroup, Cgroup)
805804 // clang-format on
806805 );
807806
807+ CLAUSET_ENUM_CONVERT ( //
808+ makeFallback, parser::OmpFallbackModifier::Value,
809+ DynGroupprivate::Fallback,
810+ // clang-format off
811+ MS (Abort, Abort)
812+ MS (Default_Mem, Default_Mem)
813+ MS (Null, Null)
814+ // clang-format on
815+ );
816+
808817 auto &mods = semantics::OmpGetModifiers (inp.v );
809818 auto *m0 = semantics::OmpGetUniqueModifier<parser::OmpAccessGroup>(mods);
810- auto *m1 = semantics::OmpGetUniqueModifier<parser::OmpPrescriptiveness >(mods);
819+ auto *m1 = semantics::OmpGetUniqueModifier<parser::OmpFallbackModifier >(mods);
811820 auto &size = std::get<parser::ScalarIntExpr>(inp.v .t );
812821
813- return DynGroupprivate{
814- {/* AccessGroup=*/ maybeApplyToV (convert, m0),
815- /* Prescriptiveness=*/ maybeApplyToV (makePrescriptiveness, m1),
816- /* Size=*/ makeExpr (size, semaCtx)}};
822+ return DynGroupprivate{{/* AccessGroup=*/ maybeApplyToV (makeAccessGroup, m0),
823+ /* Fallback=*/ maybeApplyToV (makeFallback, m1),
824+ /* Size=*/ makeExpr (size, semaCtx)}};
817825}
818826
819827Enter make (const parser::OmpClause::Enter &inp,
0 commit comments