diff options
author | Alexey Bataev <a.bataev@hotmail.com> | 2014-05-06 10:08:46 +0000 |
---|---|---|
committer | Alexey Bataev <a.bataev@hotmail.com> | 2014-05-06 10:08:46 +0000 |
commit | 9959db5fa9d4972b6f5510344d502ff4932b0c0e (patch) | |
tree | f9022d5800c5e078854567445218a23710ff1cba /clang/lib/Sema/TreeTransform.h | |
parent | fdce7cea931fc6fcb995a1193b3ae7f78a913f0d (diff) | |
download | bcm5719-llvm-9959db5fa9d4972b6f5510344d502ff4932b0c0e.tar.gz bcm5719-llvm-9959db5fa9d4972b6f5510344d502ff4932b0c0e.zip |
[OPENMP] Initial codegen for '#pragma omp parallel'
llvm-svn: 208077
Diffstat (limited to 'clang/lib/Sema/TreeTransform.h')
-rw-r--r-- | clang/lib/Sema/TreeTransform.h | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/clang/lib/Sema/TreeTransform.h b/clang/lib/Sema/TreeTransform.h index 29bfcd45370..17642722b81 100644 --- a/clang/lib/Sema/TreeTransform.h +++ b/clang/lib/Sema/TreeTransform.h @@ -6326,7 +6326,7 @@ TreeTransform<Derived>::TransformOMPExecutableDirective( TClauses.push_back(Clause); } else { - TClauses.push_back(0); + TClauses.push_back(nullptr); } } if (!D->getAssociatedStmt()) { @@ -9911,9 +9911,22 @@ template<typename Derived> StmtResult TreeTransform<Derived>::TransformCapturedStmt(CapturedStmt *S) { SourceLocation Loc = S->getLocStart(); - unsigned NumParams = S->getCapturedDecl()->getNumParams(); + CapturedDecl *CD = S->getCapturedDecl(); + unsigned NumParams = CD->getNumParams(); + unsigned ContextParamPos = CD->getContextParamPosition(); + SmallVector<Sema::CapturedParamNameType, 4> Params; + for (unsigned I = 0; I < NumParams; ++I) { + if (I != ContextParamPos) { + Params.push_back( + std::make_pair( + CD->getParam(I)->getName(), + getDerived().TransformType(CD->getParam(I)->getType()))); + } else { + Params.push_back(std::make_pair(StringRef(), QualType())); + } + } getSema().ActOnCapturedRegionStart(Loc, /*CurScope*/0, - S->getCapturedRegionKind(), NumParams); + S->getCapturedRegionKind(), Params); StmtResult Body = getDerived().TransformStmt(S->getCapturedStmt()); if (Body.isInvalid()) { |