diff options
author | Kelvin Li <kkwli0@gmail.com> | 2015-11-27 18:47:36 +0000 |
---|---|---|
committer | Kelvin Li <kkwli0@gmail.com> | 2015-11-27 18:47:36 +0000 |
commit | a15fb1a1105b08e6a43993a0e48e92475b4edbbd (patch) | |
tree | 9fa4d1e05463c3662f107c46b60a3f19cf7c768a /clang/lib/Serialization | |
parent | d08cb6c5283a26d7b2fda44e234b1c814426a3f8 (diff) | |
download | bcm5719-llvm-a15fb1a1105b08e6a43993a0e48e92475b4edbbd.tar.gz bcm5719-llvm-a15fb1a1105b08e6a43993a0e48e92475b4edbbd.zip |
[OpenMP] Parsing and sema support for thread_limit clause.
http://reviews.llvm.org/D15029
llvm-svn: 254207
Diffstat (limited to 'clang/lib/Serialization')
-rw-r--r-- | clang/lib/Serialization/ASTReaderStmt.cpp | 8 | ||||
-rw-r--r-- | clang/lib/Serialization/ASTWriterStmt.cpp | 5 |
2 files changed, 13 insertions, 0 deletions
diff --git a/clang/lib/Serialization/ASTReaderStmt.cpp b/clang/lib/Serialization/ASTReaderStmt.cpp index 124e0dab231..49f06f23151 100644 --- a/clang/lib/Serialization/ASTReaderStmt.cpp +++ b/clang/lib/Serialization/ASTReaderStmt.cpp @@ -1853,6 +1853,9 @@ OMPClause *OMPClauseReader::readClause() { case OMPC_num_teams: C = new (Context) OMPNumTeamsClause(); break; + case OMPC_thread_limit: + C = new (Context) OMPThreadLimitClause(); + break; } Visit(C); C->setLocStart(Reader->ReadSourceLocation(Record, Idx)); @@ -2182,6 +2185,11 @@ void OMPClauseReader::VisitOMPNumTeamsClause(OMPNumTeamsClause *C) { C->setLParenLoc(Reader->ReadSourceLocation(Record, Idx)); } +void OMPClauseReader::VisitOMPThreadLimitClause(OMPThreadLimitClause *C) { + C->setThreadLimit(Reader->Reader.ReadSubExpr()); + C->setLParenLoc(Reader->ReadSourceLocation(Record, Idx)); +} + //===----------------------------------------------------------------------===// // OpenMP Directives. //===----------------------------------------------------------------------===// diff --git a/clang/lib/Serialization/ASTWriterStmt.cpp b/clang/lib/Serialization/ASTWriterStmt.cpp index e93fa810651..acb3a7f2cc0 100644 --- a/clang/lib/Serialization/ASTWriterStmt.cpp +++ b/clang/lib/Serialization/ASTWriterStmt.cpp @@ -2006,6 +2006,11 @@ void OMPClauseWriter::VisitOMPNumTeamsClause(OMPNumTeamsClause *C) { Writer->Writer.AddSourceLocation(C->getLParenLoc(), Record); } +void OMPClauseWriter::VisitOMPThreadLimitClause(OMPThreadLimitClause *C) { + Writer->Writer.AddStmt(C->getThreadLimit()); + Writer->Writer.AddSourceLocation(C->getLParenLoc(), Record); +} + //===----------------------------------------------------------------------===// // OpenMP Directives. //===----------------------------------------------------------------------===// |