================
@@ -2013,6 +2064,184 @@ class OMPMergeableClause : public OMPClause {
}
};
+/// This represents the 'absent' clause in the '#pragma omp assume'
+/// directive.
+///
+/// \code
+/// #pragma omp assume absent(<directive-name list>)
+/// \endcode
+/// In this example directive '#pragma omp assume' has an 'absent' clause.
+class OMPAbsentClause final
+ : public OMPDirectiveListClause<OMPAbsentClause>,
+ private llvm::TrailingObjects<OMPAbsentClause, OpenMPDirectiveKind> {
+ friend OMPDirectiveListClause;
+ friend TrailingObjects;
+
+public:
+ /// Build 'absent' clause.
+ ///
+ /// \param StartLoc Starting location of the clause.
+ /// \param LParenLoc Location of '('.
+ /// \param EndLoc Ending location of the clause.
+ /// \param NumKinds Number of directive kinds listed in the clause.
+ OMPAbsentClause(SourceLocation StartLoc, SourceLocation LParenLoc,
+ SourceLocation EndLoc, unsigned NumKinds)
+ : OMPDirectiveListClause<OMPAbsentClause>(
+ llvm::omp::OMPC_absent, StartLoc, LParenLoc, EndLoc, NumKinds) {}
+
+ /// Build an empty clause.
+ OMPAbsentClause(unsigned NumKinds)
+ : OMPDirectiveListClause<OMPAbsentClause>(
+ llvm::omp::OMPC_absent, SourceLocation(), SourceLocation(),
+ SourceLocation(), NumKinds) {}
+
----------------
alexey-bataev wrote:
These constructions must be private/protected
https://github.com/llvm/llvm-project/pull/92731
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits