diff options
author | Kelvin Li <kkwli0@gmail.com> | 2018-09-26 04:28:39 +0000 |
---|---|---|
committer | Kelvin Li <kkwli0@gmail.com> | 2018-09-26 04:28:39 +0000 |
commit | 1408f91a2588243b84ca98799d0988535ef2e72a (patch) | |
tree | 78fa18127eb45c3c2f52bbcaf1d118d832e69079 /clang/lib/Serialization/ASTWriterDecl.cpp | |
parent | 55321d82bd329bb88799e5a853a256b4a70e4106 (diff) | |
download | bcm5719-llvm-1408f91a2588243b84ca98799d0988535ef2e72a.tar.gz bcm5719-llvm-1408f91a2588243b84ca98799d0988535ef2e72a.zip |
[OPENMP] Add support for OMP5 requires directive + unified_address clause
Add support for OMP5.0 requires directive and unified_address clause.
Patches to follow will include support for additional clauses.
Differential Revision: https://reviews.llvm.org/D52359
llvm-svn: 343063
Diffstat (limited to 'clang/lib/Serialization/ASTWriterDecl.cpp')
-rw-r--r-- | clang/lib/Serialization/ASTWriterDecl.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/clang/lib/Serialization/ASTWriterDecl.cpp b/clang/lib/Serialization/ASTWriterDecl.cpp index d757f609ea2..e120f14b81e 100644 --- a/clang/lib/Serialization/ASTWriterDecl.cpp +++ b/clang/lib/Serialization/ASTWriterDecl.cpp @@ -17,6 +17,7 @@ #include "clang/AST/DeclTemplate.h" #include "clang/AST/DeclVisitor.h" #include "clang/AST/Expr.h" +#include "clang/AST/OpenMPClause.h" #include "clang/AST/PrettyDeclStackTrace.h" #include "clang/Basic/SourceManager.h" #include "clang/Serialization/ASTReader.h" @@ -144,6 +145,7 @@ namespace clang { void VisitObjCPropertyDecl(ObjCPropertyDecl *D); void VisitObjCPropertyImplDecl(ObjCPropertyImplDecl *D); void VisitOMPThreadPrivateDecl(OMPThreadPrivateDecl *D); + void VisitOMPRequiresDecl(OMPRequiresDecl *D); void VisitOMPDeclareReductionDecl(OMPDeclareReductionDecl *D); void VisitOMPCapturedExprDecl(OMPCapturedExprDecl *D); @@ -1739,6 +1741,15 @@ void ASTDeclWriter::VisitOMPThreadPrivateDecl(OMPThreadPrivateDecl *D) { Code = serialization::DECL_OMP_THREADPRIVATE; } +void ASTDeclWriter::VisitOMPRequiresDecl(OMPRequiresDecl *D) { + Record.push_back(D->clauselist_size()); + VisitDecl(D); + OMPClauseWriter ClauseWriter(Record); + for (OMPClause *C : D->clauselists()) + ClauseWriter.writeClause(C); + Code = serialization::DECL_OMP_REQUIRES; +} + void ASTDeclWriter::VisitOMPDeclareReductionDecl(OMPDeclareReductionDecl *D) { VisitValueDecl(D); Record.AddSourceLocation(D->getBeginLoc()); |