summaryrefslogtreecommitdiffstats
path: root/clang/lib/Serialization/ASTReaderStmt.cpp
diff options
context:
space:
mode:
authorCarlo Bertolli <cbertol@us.ibm.com>2016-07-13 17:16:49 +0000
committerCarlo Bertolli <cbertol@us.ibm.com>2016-07-13 17:16:49 +0000
commit70594e9282590a357aa44efaaa572c3a290b0ce0 (patch)
tree5f1f71a627b35936548621e660fd2c7c43bc10f8 /clang/lib/Serialization/ASTReaderStmt.cpp
parent6234a5c863685b73001cb08b966f2384fa8d2162 (diff)
downloadbcm5719-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.cpp14
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.
//===----------------------------------------------------------------------===//
OpenPOWER on IntegriCloud