diff options
author | Carlo Bertolli <cbertol@us.ibm.com> | 2016-07-13 17:16:49 +0000 |
---|---|---|
committer | Carlo Bertolli <cbertol@us.ibm.com> | 2016-07-13 17:16:49 +0000 |
commit | 70594e9282590a357aa44efaaa572c3a290b0ce0 (patch) | |
tree | 5f1f71a627b35936548621e660fd2c7c43bc10f8 /clang/lib/Serialization/ASTReaderStmt.cpp | |
parent | 6234a5c863685b73001cb08b966f2384fa8d2162 (diff) | |
download | bcm5719-llvm-70594e9282590a357aa44efaaa572c3a290b0ce0.tar.gz bcm5719-llvm-70594e9282590a357aa44efaaa572c3a290b0ce0.zip |
[OpenMP] Initial implementation of parse+sema for OpenMP clause 'is_device_ptr' of target
http://reviews.llvm.org/D22070
llvm-svn: 275282
Diffstat (limited to 'clang/lib/Serialization/ASTReaderStmt.cpp')
-rw-r--r-- | clang/lib/Serialization/ASTReaderStmt.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/clang/lib/Serialization/ASTReaderStmt.cpp b/clang/lib/Serialization/ASTReaderStmt.cpp index 2bc2228bdfe..4bf7d90a5d3 100644 --- a/clang/lib/Serialization/ASTReaderStmt.cpp +++ b/clang/lib/Serialization/ASTReaderStmt.cpp @@ -1925,6 +1925,9 @@ OMPClause *OMPClauseReader::readClause() { case OMPC_use_device_ptr: C = OMPUseDevicePtrClause::CreateEmpty(Context, Record[Idx++]); break; + case OMPC_is_device_ptr: + C = OMPIsDevicePtrClause::CreateEmpty(Context, Record[Idx++]); + break; } Visit(C); C->setLocStart(Reader->ReadSourceLocation(Record, Idx)); @@ -2453,6 +2456,17 @@ void OMPClauseReader::VisitOMPUseDevicePtrClause(OMPUseDevicePtrClause *C) { Vars.clear(); } +void OMPClauseReader::VisitOMPIsDevicePtrClause(OMPIsDevicePtrClause *C) { + C->setLParenLoc(Reader->ReadSourceLocation(Record, Idx)); + unsigned NumVars = C->varlist_size(); + SmallVector<Expr *, 16> Vars; + Vars.reserve(NumVars); + for (unsigned i = 0; i != NumVars; ++i) + Vars.push_back(Reader->Reader.ReadSubExpr()); + C->setVarRefs(Vars); + Vars.clear(); +} + //===----------------------------------------------------------------------===// // OpenMP Directives. //===----------------------------------------------------------------------===// |