diff options
author | Alexey Bataev <a.bataev@hotmail.com> | 2016-02-08 09:29:13 +0000 |
---|---|---|
committer | Alexey Bataev <a.bataev@hotmail.com> | 2016-02-08 09:29:13 +0000 |
commit | 90c228f0baee4e807f7355066f31c3438f1fcafd (patch) | |
tree | 92068ace18446aeb21f0b85563da405914f8be74 /clang/lib/Serialization/ASTWriterDecl.cpp | |
parent | 9ab99ab985f7e4d6eb21deaedbf75344833f1465 (diff) | |
download | llvm-90c228f0baee4e807f7355066f31c3438f1fcafd.zip llvm-90c228f0baee4e807f7355066f31c3438f1fcafd.tar.gz llvm-90c228f0baee4e807f7355066f31c3438f1fcafd.tar.bz2 |
[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/Serialization/ASTWriterDecl.cpp')
-rw-r--r-- | clang/lib/Serialization/ASTWriterDecl.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/clang/lib/Serialization/ASTWriterDecl.cpp b/clang/lib/Serialization/ASTWriterDecl.cpp index 54bba28..4620f56 100644 --- a/clang/lib/Serialization/ASTWriterDecl.cpp +++ b/clang/lib/Serialization/ASTWriterDecl.cpp @@ -131,6 +131,7 @@ namespace clang { void VisitObjCPropertyDecl(ObjCPropertyDecl *D); void VisitObjCPropertyImplDecl(ObjCPropertyImplDecl *D); void VisitOMPThreadPrivateDecl(OMPThreadPrivateDecl *D); + void VisitOMPCapturedFieldDecl(OMPCapturedFieldDecl *D); /// Add an Objective-C type parameter list to the given record. void AddObjCTypeParamList(ObjCTypeParamList *typeParams) { @@ -1628,6 +1629,11 @@ void ASTDeclWriter::VisitOMPThreadPrivateDecl(OMPThreadPrivateDecl *D) { Code = serialization::DECL_OMP_THREADPRIVATE; } +void ASTDeclWriter::VisitOMPCapturedFieldDecl(OMPCapturedFieldDecl *D) { + VisitVarDecl(D); + Code = serialization::DECL_OMP_CAPTUREDFIELD; +} + //===----------------------------------------------------------------------===// // ASTWriter Implementation //===----------------------------------------------------------------------===// |