From 80909878adc79d9f1277373af175041718f05953 Mon Sep 17 00:00:00 2001 From: Alexey Bataev Date: Thu, 2 Jul 2015 11:25:17 +0000 Subject: [OPENMP 4.0] Initial support for 'omp cancel' construct. Implemented parsing/sema analysis + (de)serialization. llvm-svn: 241253 --- clang/lib/Sema/TreeTransform.h | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'clang/lib/Sema/TreeTransform.h') diff --git a/clang/lib/Sema/TreeTransform.h b/clang/lib/Sema/TreeTransform.h index 41ab5a2e9b0..80896be981d 100644 --- a/clang/lib/Sema/TreeTransform.h +++ b/clang/lib/Sema/TreeTransform.h @@ -6719,6 +6719,8 @@ StmtResult TreeTransform::TransformOMPExecutableDirective( OpenMPDirectiveKind CancelRegion = OMPD_unknown; if (D->getDirectiveKind() == OMPD_cancellation_point) { CancelRegion = cast(D)->getCancelRegion(); + } else if (D->getDirectiveKind() == OMPD_cancel) { + CancelRegion = cast(D)->getCancelRegion(); } return getDerived().RebuildOMPExecutableDirective( @@ -6978,6 +6980,17 @@ StmtResult TreeTransform::TransformOMPCancellationPointDirective( return Res; } +template +StmtResult +TreeTransform::TransformOMPCancelDirective(OMPCancelDirective *D) { + DeclarationNameInfo DirName; + getDerived().getSema().StartOpenMPDSABlock(OMPD_cancel, DirName, nullptr, + D->getLocStart()); + StmtResult Res = getDerived().TransformOMPExecutableDirective(D); + getDerived().getSema().EndOpenMPDSABlock(Res.get()); + return Res; +} + //===----------------------------------------------------------------------===// // OpenMP clause transformation //===----------------------------------------------------------------------===// -- cgit v1.2.3