aboutsummaryrefslogtreecommitdiff
path: root/flang/lib/Lower/OpenMP/Clauses.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'flang/lib/Lower/OpenMP/Clauses.cpp')
-rw-r--r--flang/lib/Lower/OpenMP/Clauses.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/flang/lib/Lower/OpenMP/Clauses.cpp b/flang/lib/Lower/OpenMP/Clauses.cpp
index ba34212..2a4ebf1 100644
--- a/flang/lib/Lower/OpenMP/Clauses.cpp
+++ b/flang/lib/Lower/OpenMP/Clauses.cpp
@@ -740,6 +740,18 @@ Device make(const parser::OmpClause::Device &inp,
/*DeviceDescription=*/makeExpr(t1, semaCtx)}};
}
+DeviceSafesync make(const parser::OmpClause::DeviceSafesync &inp,
+ semantics::SemanticsContext &semaCtx) {
+ // inp.v -> std::optional<parser::OmpDeviceSafesyncClause>
+ auto &&maybeRequired = maybeApply(
+ [&](const parser::OmpDeviceSafesyncClause &c) {
+ return makeExpr(c.v, semaCtx);
+ },
+ inp.v);
+
+ return DeviceSafesync{/*Required=*/std::move(maybeRequired)};
+}
+
DeviceType make(const parser::OmpClause::DeviceType &inp,
semantics::SemanticsContext &semaCtx) {
// inp.v -> parser::OmpDeviceTypeClause