@@ -9781,8 +9781,8 @@ class OMPDynGroupprivateClause : public OMPClause, public OMPClauseWithPreInit {
97819781 SourceLocation LParenLoc;
97829782
97839783 // / Modifiers for 'dyn_groupprivate' clause.
9784- enum { FIRST, SECOND , NUM_MODIFIERS };
9785- OpenMPDynGroupprivateClauseModifier Modifiers[NUM_MODIFIERS];
9784+ enum { SIMPLE, FALLBACK , NUM_MODIFIERS };
9785+ unsigned Modifiers[NUM_MODIFIERS];
97869786
97879787 // / Locations of modifiers.
97889788 SourceLocation ModifiersLoc[NUM_MODIFIERS];
@@ -9793,37 +9793,26 @@ class OMPDynGroupprivateClause : public OMPClause, public OMPClauseWithPreInit {
97939793 // / Set the first dyn_groupprivate modifier.
97949794 // /
97959795 // / \param M The modifier.
9796- void setFirstDynGroupprivateModifier (OpenMPDynGroupprivateClauseModifier M) {
9797- Modifiers[FIRST ] = M;
9796+ void setDynGroupprivateModifier (OpenMPDynGroupprivateClauseModifier M) {
9797+ Modifiers[SIMPLE ] = M;
97989798 }
97999799
98009800 // / Set the second dyn_groupprivate modifier.
98019801 // /
98029802 // / \param M The modifier.
9803- void setSecondDynGroupprivateModifier (OpenMPDynGroupprivateClauseModifier M) {
9804- Modifiers[SECOND] = M;
9803+ void setDynGroupprivateFallbackModifier (
9804+ OpenMPDynGroupprivateClauseFallbackModifier M) {
9805+ Modifiers[FALLBACK] = M;
98059806 }
98069807
98079808 // / Set location of the first dyn_groupprivate modifier.
9808- void setFirstDynGroupprivateModifierLoc (SourceLocation Loc) {
9809- ModifiersLoc[FIRST ] = Loc;
9809+ void setDynGroupprivateModifierLoc (SourceLocation Loc) {
9810+ ModifiersLoc[SIMPLE ] = Loc;
98109811 }
98119812
98129813 // / Set location of the second dyn_groupprivate modifier.
9813- void setSecondDynGroupprivateModifierLoc (SourceLocation Loc) {
9814- ModifiersLoc[SECOND] = Loc;
9815- }
9816-
9817- // / Set dyn_groupprivate modifier location.
9818- // /
9819- // / \param M The modifier location.
9820- void setDynGroupprivateModifer (OpenMPDynGroupprivateClauseModifier M) {
9821- if (Modifiers[FIRST] == OMPC_DYN_GROUPPRIVATE_unknown)
9822- Modifiers[FIRST] = M;
9823- else {
9824- assert (Modifiers[SECOND] == OMPC_DYN_GROUPPRIVATE_unknown);
9825- Modifiers[SECOND] = M;
9826- }
9814+ void setDynGroupprivateFallbackModifierLoc (SourceLocation Loc) {
9815+ ModifiersLoc[FALLBACK] = Loc;
98279816 }
98289817
98299818 // / Sets the location of '('.
@@ -9852,47 +9841,49 @@ class OMPDynGroupprivateClause : public OMPClause, public OMPClauseWithPreInit {
98529841 OpenMPDirectiveKind CaptureRegion,
98539842 OpenMPDynGroupprivateClauseModifier M1,
98549843 SourceLocation M1Loc,
9855- OpenMPDynGroupprivateClauseModifier M2,
9844+ OpenMPDynGroupprivateClauseFallbackModifier M2,
98569845 SourceLocation M2Loc)
98579846 : OMPClause(llvm::omp::OMPC_dyn_groupprivate, StartLoc, EndLoc),
98589847 OMPClauseWithPreInit (this ), LParenLoc(LParenLoc), Size(Size) {
98599848 setPreInitStmt (HelperSize, CaptureRegion);
9860- Modifiers[FIRST ] = M1;
9861- Modifiers[SECOND ] = M2;
9862- ModifiersLoc[FIRST ] = M1Loc;
9863- ModifiersLoc[SECOND ] = M2Loc;
9849+ Modifiers[SIMPLE ] = M1;
9850+ Modifiers[FALLBACK ] = M2;
9851+ ModifiersLoc[SIMPLE ] = M1Loc;
9852+ ModifiersLoc[FALLBACK ] = M2Loc;
98649853 }
98659854
98669855 // / Build an empty clause.
98679856 explicit OMPDynGroupprivateClause ()
98689857 : OMPClause(llvm::omp::OMPC_dyn_groupprivate, SourceLocation(),
98699858 SourceLocation()),
98709859 OMPClauseWithPreInit(this ) {
9871- Modifiers[FIRST ] = OMPC_DYN_GROUPPRIVATE_unknown;
9872- Modifiers[SECOND ] = OMPC_DYN_GROUPPRIVATE_unknown ;
9860+ Modifiers[SIMPLE ] = OMPC_DYN_GROUPPRIVATE_unknown;
9861+ Modifiers[FALLBACK ] = OMPC_DYN_GROUPPRIVATE_FALLBACK_unknown ;
98739862 }
98749863
98759864 // / Get the first modifier of the clause.
9876- OpenMPDynGroupprivateClauseModifier getFirstDynGroupprivateModifier () const {
9877- return Modifiers[FIRST] ;
9865+ OpenMPDynGroupprivateClauseModifier getDynGroupprivateModifier () const {
9866+ return static_cast <OpenMPDynGroupprivateClauseModifier>( Modifiers[SIMPLE]) ;
98789867 }
98799868
98809869 // / Get the second modifier of the clause.
9881- OpenMPDynGroupprivateClauseModifier getSecondDynGroupprivateModifier () const {
9882- return Modifiers[SECOND];
9870+ OpenMPDynGroupprivateClauseFallbackModifier
9871+ getDynGroupprivateFallbackModifier () const {
9872+ return static_cast <OpenMPDynGroupprivateClauseFallbackModifier>(
9873+ Modifiers[FALLBACK]);
98839874 }
98849875
98859876 // / Get location of '('.
98869877 SourceLocation getLParenLoc () { return LParenLoc; }
98879878
98889879 // / Get the first modifier location.
9889- SourceLocation getFirstDynGroupprivateModifierLoc () const {
9890- return ModifiersLoc[FIRST ];
9880+ SourceLocation getDynGroupprivateModifierLoc () const {
9881+ return ModifiersLoc[SIMPLE ];
98919882 }
98929883
98939884 // / Get the second modifier location.
9894- SourceLocation getSecondDynGroupprivateModifierLoc () const {
9895- return ModifiersLoc[SECOND ];
9885+ SourceLocation getDynGroupprivateFallbackModifierLoc () const {
9886+ return ModifiersLoc[FALLBACK ];
98969887 }
98979888
98989889 // / Get size.
0 commit comments