Skip to content

Commit 03db991

Browse files
committed
Merge branch 'users/kevinsala/omp-dyn-groupprivate-pr' into users/kevinsala/omp-dyn-groupprivate-codegen-pr
2 parents c439e44 + b76e32c commit 03db991

File tree

3 files changed

+18
-14
lines changed

3 files changed

+18
-14
lines changed

clang/lib/Parse/ParseOpenMP.cpp

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4016,7 +4016,7 @@ OMPClause *Parser::ParseOpenMPSingleExprWithArgClause(OpenMPDirectiveKind DKind,
40164016
Arg[SimpleModifier] = OMPC_DYN_GROUPPRIVATE_unknown;
40174017
Arg[ComplexModifier] = OMPC_DYN_GROUPPRIVATE_FALLBACK_unknown;
40184018

4019-
auto consumeModifier = [&]() {
4019+
auto ConsumeModifier = [&]() {
40204020
unsigned Type = NumberOfModifiers;
40214021
unsigned Modifier;
40224022
SourceLocation Loc;
@@ -4055,28 +4055,29 @@ OMPClause *Parser::ParseOpenMPSingleExprWithArgClause(OpenMPDirectiveKind DKind,
40554055
return std::make_tuple(Type, Modifier, Loc);
40564056
};
40574057

4058-
auto saveModifier = [&](unsigned Type, unsigned Modifier,
4058+
auto SaveModifier = [&](unsigned Type, unsigned Modifier,
40594059
SourceLocation Loc) {
4060-
assert(Type < NumberOfModifiers);
4060+
assert(Type < NumberOfModifiers && "Unexpected modifier type");
40614061
if (!KLoc[Type].isValid()) {
40624062
Arg[Type] = Modifier;
40634063
KLoc[Type] = Loc;
4064-
} else
4064+
} else {
40654065
Diag(Loc, diag::err_omp_incompatible_dyn_groupprivate_modifier)
40664066
<< getOpenMPSimpleClauseTypeName(OMPC_dyn_groupprivate, Modifier)
40674067
<< getOpenMPSimpleClauseTypeName(OMPC_dyn_groupprivate, Arg[Type]);
4068+
}
40684069
};
40694070

40704071
// Parse 'modifier'
4071-
auto [Type1, Mod1, Loc1] = consumeModifier();
4072+
auto [Type1, Mod1, Loc1] = ConsumeModifier();
40724073
if (Type1 < NumberOfModifiers) {
4073-
saveModifier(Type1, Mod1, Loc1);
4074+
SaveModifier(Type1, Mod1, Loc1);
40744075
if (Tok.is(tok::comma)) {
40754076
// Parse ',' 'modifier'
40764077
ConsumeAnyToken();
4077-
auto [Type2, Mod2, Loc2] = consumeModifier();
4078+
auto [Type2, Mod2, Loc2] = ConsumeModifier();
40784079
if (Type2 < NumberOfModifiers)
4079-
saveModifier(Type2, Mod2, Loc2);
4080+
SaveModifier(Type2, Mod2, Loc2);
40804081
}
40814082
// Parse ':'
40824083
if (Tok.is(tok::colon))

clang/lib/Sema/SemaOpenMP.cpp

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17697,7 +17697,8 @@ OMPClause *SemaOpenMP::ActOnOpenMPSingleExprWithArgClause(
1769717697
static_cast<OpenMPScheduleClauseKind>(Argument[ScheduleKind]), Expr,
1769817698
StartLoc, LParenLoc, ArgumentLoc[Modifier1], ArgumentLoc[Modifier2],
1769917699
ArgumentLoc[ScheduleKind], DelimLoc, EndLoc);
17700-
} break;
17700+
break;
17701+
}
1770117702
case OMPC_if:
1770217703
assert(Argument.size() == 1 && ArgumentLoc.size() == 1);
1770317704
Res = ActOnOpenMPIfClause(static_cast<OpenMPDirectiveKind>(Argument.back()),
@@ -17756,14 +17757,17 @@ OMPClause *SemaOpenMP::ActOnOpenMPSingleExprWithArgClause(
1775617757
case OMPC_dyn_groupprivate: {
1775717758
enum { Modifier1, Modifier2, NumberOfElements };
1775817759
assert(Argument.size() == NumberOfElements &&
17759-
ArgumentLoc.size() == NumberOfElements);
17760+
ArgumentLoc.size() == NumberOfElements &&
17761+
"Modifiers for dyn_groupprivate clause and their locations are "
17762+
"expected.");
1776017763
Res = ActOnOpenMPDynGroupprivateClause(
1776117764
static_cast<OpenMPDynGroupprivateClauseModifier>(Argument[Modifier1]),
1776217765
static_cast<OpenMPDynGroupprivateClauseFallbackModifier>(
1776317766
Argument[Modifier2]),
1776417767
Expr, StartLoc, LParenLoc, ArgumentLoc[Modifier1],
1776517768
ArgumentLoc[Modifier2], EndLoc);
17766-
} break;
17769+
break;
17770+
}
1776717771
case OMPC_num_threads:
1776817772
assert(Argument.size() == 1 && ArgumentLoc.size() == 1 &&
1776917773
"Modifier for num_threads clause and its location are expected.");

clang/lib/Serialization/ASTReader.cpp

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12729,10 +12729,9 @@ void OMPClauseReader::VisitOMPDynGroupprivateClause(
1272912729
OMPDynGroupprivateClause *C) {
1273012730
VisitOMPClauseWithPreInit(C);
1273112731
C->setDynGroupprivateModifier(
12732-
static_cast<OpenMPDynGroupprivateClauseModifier>(Record.readInt()));
12732+
Record.readEnum<OpenMPDynGroupprivateClauseModifier>());
1273312733
C->setDynGroupprivateFallbackModifier(
12734-
static_cast<OpenMPDynGroupprivateClauseFallbackModifier>(
12735-
Record.readInt()));
12734+
Record.readEnum<OpenMPDynGroupprivateClauseFallbackModifier>());
1273612735
C->setSize(Record.readSubExpr());
1273712736
C->setLParenLoc(Record.readSourceLocation());
1273812737
C->setDynGroupprivateModifierLoc(Record.readSourceLocation());

0 commit comments

Comments
 (0)