summaryrefslogtreecommitdiffstats
path: root/clang/lib/AST/DeclPrinter.cpp
diff options
context:
space:
mode:
authorAlexey Bataev <a.bataev@hotmail.com>2016-02-08 09:29:13 +0000
committerAlexey Bataev <a.bataev@hotmail.com>2016-02-08 09:29:13 +0000
commit90c228f0baee4e807f7355066f31c3438f1fcafd (patch)
tree92068ace18446aeb21f0b85563da405914f8be74 /clang/lib/AST/DeclPrinter.cpp
parent9ab99ab985f7e4d6eb21deaedbf75344833f1465 (diff)
downloadbcm5719-llvm-90c228f0baee4e807f7355066f31c3438f1fcafd.tar.gz
bcm5719-llvm-90c228f0baee4e807f7355066f31c3438f1fcafd.zip
[OPENMP 4.5] Ccapture/codegen of private non-static data members.
OpenMP 4.5 introduces privatization of non-static data members of current class in non-static member functions. To correctly handle such kind of privatization a new (pseudo)declaration VarDecl-based node is added. It allows to reuse an existing code for capturing variables in Lambdas/Block/Captured blocks of code for correct privatization and codegen. llvm-svn: 260077
Diffstat (limited to 'clang/lib/AST/DeclPrinter.cpp')
-rw-r--r--clang/lib/AST/DeclPrinter.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/clang/lib/AST/DeclPrinter.cpp b/clang/lib/AST/DeclPrinter.cpp
index 19c7da3074b..1a0e1488bb1 100644
--- a/clang/lib/AST/DeclPrinter.cpp
+++ b/clang/lib/AST/DeclPrinter.cpp
@@ -92,6 +92,7 @@ namespace {
void VisitUsingDecl(UsingDecl *D);
void VisitUsingShadowDecl(UsingShadowDecl *D);
void VisitOMPThreadPrivateDecl(OMPThreadPrivateDecl *D);
+ void VisitOMPCapturedFieldDecl(OMPCapturedFieldDecl *D);
void PrintTemplateParameters(const TemplateParameterList *Params,
const TemplateArgumentList *Args = nullptr);
@@ -1366,3 +1367,7 @@ void DeclPrinter::VisitOMPThreadPrivateDecl(OMPThreadPrivateDecl *D) {
}
}
+void DeclPrinter::VisitOMPCapturedFieldDecl(OMPCapturedFieldDecl *D) {
+ D->getInit()->printPretty(Out, nullptr, Policy, Indentation);
+}
+
OpenPOWER on IntegriCloud