diff options
Diffstat (limited to 'clang/lib/Serialization')
| -rw-r--r-- | clang/lib/Serialization/ASTReader.cpp | 14 | ||||
| -rw-r--r-- | clang/lib/Serialization/ASTWriter.cpp | 6 | 
2 files changed, 20 insertions, 0 deletions
| diff --git a/clang/lib/Serialization/ASTReader.cpp b/clang/lib/Serialization/ASTReader.cpp index c1b5cb7..e3106f8d 100644 --- a/clang/lib/Serialization/ASTReader.cpp +++ b/clang/lib/Serialization/ASTReader.cpp @@ -11255,6 +11255,9 @@ OMPClause *OMPClauseReader::readClause() {    case llvm::omp::OMPC_mergeable:      C = new (Context) OMPMergeableClause();      break; +  case llvm::omp::OMPC_threadset: +    C = new (Context) OMPThreadsetClause(); +    break;    case llvm::omp::OMPC_read:      C = new (Context) OMPReadClause();      break; @@ -11658,6 +11661,17 @@ void OMPClauseReader::VisitOMPDefaultClause(OMPDefaultClause *C) {    C->setDefaultVariableCategoryLocation(Record.readSourceLocation());  } +// Read the parameter of threadset clause. This will have been saved when +// OMPClauseWriter is called. +void OMPClauseReader::VisitOMPThreadsetClause(OMPThreadsetClause *C) { +  C->setLParenLoc(Record.readSourceLocation()); +  SourceLocation ThreadsetKindLoc = Record.readSourceLocation(); +  C->setThreadsetKindLoc(ThreadsetKindLoc); +  OpenMPThreadsetKind TKind = +      static_cast<OpenMPThreadsetKind>(Record.readInt()); +  C->setThreadsetKind(TKind); +} +  void OMPClauseReader::VisitOMPProcBindClause(OMPProcBindClause *C) {    C->setProcBindKind(static_cast<llvm::omp::ProcBindKind>(Record.readInt()));    C->setLParenLoc(Record.readSourceLocation()); diff --git a/clang/lib/Serialization/ASTWriter.cpp b/clang/lib/Serialization/ASTWriter.cpp index 377e396..3ac338e 100644 --- a/clang/lib/Serialization/ASTWriter.cpp +++ b/clang/lib/Serialization/ASTWriter.cpp @@ -7913,6 +7913,12 @@ void OMPClauseWriter::VisitOMPDefaultClause(OMPDefaultClause *C) {    Record.AddSourceLocation(C->getDefaultVCLoc());  } +void OMPClauseWriter::VisitOMPThreadsetClause(OMPThreadsetClause *C) { +  Record.AddSourceLocation(C->getLParenLoc()); +  Record.AddSourceLocation(C->getThreadsetKindLoc()); +  Record.writeEnum(C->getThreadsetKind()); +} +  void OMPClauseWriter::VisitOMPProcBindClause(OMPProcBindClause *C) {    Record.push_back(unsigned(C->getProcBindKind()));    Record.AddSourceLocation(C->getLParenLoc()); | 
