Skip to content

Commit 642453c

Browse files
authored
[flang][OpenMP] Mark atomic clauses as unique (#137460)
The current implementation of the ATOMIC construct handles these clauses individually, and this change does not have an observable effect. At the same time these clauses are unique as per the OpenMP spec, and this patch reflects that in the OMP.td file.
1 parent abfb2ce commit 642453c

File tree

1 file changed

+6
-8
lines changed
  • llvm/include/llvm/Frontend/OpenMP

1 file changed

+6
-8
lines changed

llvm/include/llvm/Frontend/OpenMP/OMP.td

+6-8
Original file line numberDiff line numberDiff line change
@@ -602,22 +602,20 @@ def OMP_Assume : Directive<"assume"> {
602602
];
603603
}
604604
def OMP_Atomic : Directive<"atomic"> {
605-
let allowedClauses = [
606-
VersionedClause<OMPC_Capture>,
607-
VersionedClause<OMPC_Compare, 51>,
608-
VersionedClause<OMPC_Read>,
609-
VersionedClause<OMPC_Update>,
610-
VersionedClause<OMPC_Write>,
611-
];
612605
let allowedOnceClauses = [
613606
VersionedClause<OMPC_AcqRel, 50>,
614607
VersionedClause<OMPC_Acquire, 50>,
608+
VersionedClause<OMPC_Capture>,
609+
VersionedClause<OMPC_Compare, 51>,
615610
VersionedClause<OMPC_Fail, 51>,
616611
VersionedClause<OMPC_Hint, 50>,
612+
VersionedClause<OMPC_Read>,
617613
VersionedClause<OMPC_Relaxed, 50>,
618614
VersionedClause<OMPC_Release, 50>,
619615
VersionedClause<OMPC_SeqCst>,
616+
VersionedClause<OMPC_Update>,
620617
VersionedClause<OMPC_Weak, 51>,
618+
VersionedClause<OMPC_Write>,
621619
];
622620
let association = AS_Block;
623621
let category = CA_Executable;
@@ -668,7 +666,7 @@ def OMP_CancellationPoint : Directive<"cancellation point"> {
668666
let category = CA_Executable;
669667
}
670668
def OMP_Critical : Directive<"critical"> {
671-
let allowedClauses = [
669+
let allowedOnceClauses = [
672670
VersionedClause<OMPC_Hint>,
673671
];
674672
let association = AS_Block;

0 commit comments

Comments
 (0)