summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/TreeTransform.h
diff options
context:
space:
mode:
authorAlexey Bataev <a.bataev@hotmail.com>2014-05-06 10:08:46 +0000
committerAlexey Bataev <a.bataev@hotmail.com>2014-05-06 10:08:46 +0000
commit9959db5fa9d4972b6f5510344d502ff4932b0c0e (patch)
treef9022d5800c5e078854567445218a23710ff1cba /clang/lib/Sema/TreeTransform.h
parentfdce7cea931fc6fcb995a1193b3ae7f78a913f0d (diff)
downloadbcm5719-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.h19
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()) {
OpenPOWER on IntegriCloud