File tree Expand file tree Collapse file tree 6 files changed +12
-14
lines changed Expand file tree Collapse file tree 6 files changed +12
-14
lines changed Original file line number Diff line number Diff line change @@ -39,7 +39,6 @@ struct ConstructId {
39
39
}
40
40
41
41
MAKE_CONSTR_ID (OpenMPDeclarativeAllocate, D::OMPD_allocate);
42
- MAKE_CONSTR_ID (OpenMPDeclarativeAssumes, D::OMPD_assumes);
43
42
MAKE_CONSTR_ID (OpenMPDeclareReductionConstruct, D::OMPD_declare_reduction);
44
43
MAKE_CONSTR_ID (OpenMPExecutableAllocate, D::OMPD_allocate);
45
44
MAKE_CONSTR_ID (OpenMPRequiresConstruct, D::OMPD_requires);
@@ -94,7 +93,6 @@ struct DirectiveNameScope {
94
93
if constexpr (std::is_base_of_v<OmpBlockConstruct, T>) {
95
94
return std::get<OmpBeginDirective>(x.t ).DirName ();
96
95
} else if constexpr (std::is_same_v<T, OpenMPDeclarativeAllocate> ||
97
- std::is_same_v<T, OpenMPDeclarativeAssumes> ||
98
96
std::is_same_v<T, OpenMPDeclareReductionConstruct> ||
99
97
std::is_same_v<T, OpenMPExecutableAllocate> ||
100
98
std::is_same_v<T, OpenMPRequiresConstruct>) {
Original file line number Diff line number Diff line change @@ -4877,8 +4877,8 @@ struct OpenMPUtilityConstruct {
4877
4877
// ASSUMES absent-clause | contains-clause | holds-clause | no-openmp-clause |
4878
4878
// no-openmp-routines-clause | no-parallelism-clause
4879
4879
struct OpenMPDeclarativeAssumes {
4880
- TUPLE_CLASS_BOILERPLATE (OpenMPDeclarativeAssumes);
4881
- std::tuple<Verbatim, OmpClauseList> t ;
4880
+ WRAPPER_CLASS_BOILERPLATE (
4881
+ OpenMPDeclarativeAssumes, OmpDirectiveSpecification) ;
4882
4882
CharBlock source;
4883
4883
};
4884
4884
Original file line number Diff line number Diff line change @@ -1853,7 +1853,9 @@ TYPE_PARSER(
1853
1853
1854
1854
// Assumes Construct
1855
1855
TYPE_PARSER(sourced(construct<OpenMPDeclarativeAssumes>(
1856
- verbatim("ASSUMES"_tok), Parser<OmpClauseList>{})))
1856
+ predicated(OmpDirectiveNameParser{},
1857
+ IsDirective(llvm::omp::Directive::OMPD_assumes)) >=
1858
+ Parser<OmpDirectiveSpecification>{})))
1857
1859
1858
1860
// Declarative constructs
1859
1861
TYPE_PARSER(
Original file line number Diff line number Diff line change @@ -2558,8 +2558,8 @@ class UnparseVisitor {
2558
2558
2559
2559
void Unparse (const OpenMPDeclarativeAssumes &x) {
2560
2560
BeginOpenMP ();
2561
- Word (" !$OMP ASSUMES " );
2562
- Walk (std::get<OmpClauseList>(x. t ) );
2561
+ Word (" !$OMP " );
2562
+ Walk (x. v );
2563
2563
Put (" \n " );
2564
2564
EndOpenMP ();
2565
2565
}
Original file line number Diff line number Diff line change @@ -620,10 +620,6 @@ template <typename Checker> struct DirectiveSpellingVisitor {
620
620
checker_ (GetDirName (x.t ).source , Directive::OMPD_allocators);
621
621
return false ;
622
622
}
623
- bool Pre (const parser::OpenMPDeclarativeAssumes &x) {
624
- checker_ (std::get<parser::Verbatim>(x.t ).source , Directive::OMPD_assumes);
625
- return false ;
626
- }
627
623
bool Pre (const parser::OpenMPGroupprivate &x) {
628
624
checker_ (x.v .DirName ().source , Directive::OMPD_groupprivate);
629
625
return false ;
Original file line number Diff line number Diff line change @@ -141,9 +141,11 @@ program p
141
141
end program p
142
142
143
143
! UNPARSE: PROGRAM p
144
- ! UNPARSE: !$OMP ASSUMES NO_OPENMP
144
+ ! UNPARSE: !$OMP ASSUMES NO_OPENMP
145
145
! UNPARSE: END PROGRAM p
146
146
147
- ! PARSE-TREE: OpenMPDeclarativeConstruct -> OpenMPDeclarativeAssumes
148
- ! PARSE-TREE: | Verbatim
147
+ ! PARSE-TREE: OpenMPDeclarativeConstruct -> OpenMPDeclarativeAssumes -> OmpDirectiveSpecification
148
+ ! PARSE-TREE: | OmpDirectiveName -> llvm::omp::Directive = assumes
149
149
! PARSE-TREE: | OmpClauseList -> OmpClause -> NoOpenmp
150
+ ! PARSE-TREE: | Flags = None
151
+ ! PARSE-TREE: ImplicitPart ->
You can’t perform that action at this time.
0 commit comments