[OPENMP 4.5] Ccapture/codegen of private non-static data members.
authorAlexey Bataev <a.bataev@hotmail.com>
Mon, 8 Feb 2016 09:29:13 +0000 (09:29 +0000)
committerAlexey Bataev <a.bataev@hotmail.com>
Mon, 8 Feb 2016 09:29:13 +0000 (09:29 +0000)
commit90c228f0baee4e807f7355066f31c3438f1fcafd
tree92068ace18446aeb21f0b85563da405914f8be74
parent9ab99ab985f7e4d6eb21deaedbf75344833f1465
[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
19 files changed:
clang/include/clang/AST/DeclOpenMP.h
clang/include/clang/AST/RecursiveASTVisitor.h
clang/include/clang/Basic/DeclNodes.td
clang/include/clang/Sema/Sema.h
clang/include/clang/Serialization/ASTBitCodes.h
clang/lib/AST/DeclBase.cpp
clang/lib/AST/DeclOpenMP.cpp
clang/lib/AST/DeclPrinter.cpp
clang/lib/AST/StmtPrinter.cpp
clang/lib/CodeGen/CGDecl.cpp
clang/lib/Sema/SemaExpr.cpp
clang/lib/Sema/SemaExprMember.cpp
clang/lib/Sema/SemaOpenMP.cpp
clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
clang/lib/Serialization/ASTCommon.cpp
clang/lib/Serialization/ASTReaderDecl.cpp
clang/lib/Serialization/ASTWriterDecl.cpp
clang/test/OpenMP/parallel_private_codegen.cpp
clang/tools/libclang/CIndex.cpp