diff options
Diffstat (limited to 'clang/lib/Serialization/ASTReaderStmt.cpp')
| -rw-r--r-- | clang/lib/Serialization/ASTReaderStmt.cpp | 13 | 
1 files changed, 13 insertions, 0 deletions
| diff --git a/clang/lib/Serialization/ASTReaderStmt.cpp b/clang/lib/Serialization/ASTReaderStmt.cpp index 594d029e0e5..9a201d0f69b 100644 --- a/clang/lib/Serialization/ASTReaderStmt.cpp +++ b/clang/lib/Serialization/ASTReaderStmt.cpp @@ -1692,6 +1692,9 @@ OMPClause *OMPClauseReader::readClause() {    case OMPC_shared:      C = OMPSharedClause::CreateEmpty(Context, Record[Idx++]);      break; +  case OMPC_copyin: +    C = OMPCopyinClause::CreateEmpty(Context, Record[Idx++]); +    break;    }    Visit(C);    C->setLocStart(Reader->ReadSourceLocation(Record, Idx)); @@ -1752,6 +1755,16 @@ void OMPClauseReader::VisitOMPSharedClause(OMPSharedClause *C) {    C->setVarRefs(Vars);  } +void OMPClauseReader::VisitOMPCopyinClause(OMPCopyinClause *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); +} +  //===----------------------------------------------------------------------===//  // OpenMP Directives.  //===----------------------------------------------------------------------===// | 

