diff options
Diffstat (limited to 'clang/lib/Sema/SemaOpenMP.cpp')
| -rw-r--r-- | clang/lib/Sema/SemaOpenMP.cpp | 21 | 
1 files changed, 21 insertions, 0 deletions
| diff --git a/clang/lib/Sema/SemaOpenMP.cpp b/clang/lib/Sema/SemaOpenMP.cpp index 6d5cb0f..256f952 100644 --- a/clang/lib/Sema/SemaOpenMP.cpp +++ b/clang/lib/Sema/SemaOpenMP.cpp @@ -17216,6 +17216,10 @@ OMPClause *SemaOpenMP::ActOnOpenMPSimpleClause(          static_cast<OpenMPSeverityClauseKind>(Argument), ArgumentLoc, StartLoc,          LParenLoc, EndLoc);      break; +  case OMPC_threadset: +    Res = ActOnOpenMPThreadsetClause(static_cast<OpenMPThreadsetKind>(Argument), +                                     ArgumentLoc, StartLoc, LParenLoc, EndLoc); +    break;    case OMPC_if:    case OMPC_final:    case OMPC_num_threads: @@ -17355,6 +17359,23 @@ OMPClause *SemaOpenMP::ActOnOpenMPDefaultClause(        OMPDefaultClause(M, MLoc, VCKind, VCKindLoc, StartLoc, LParenLoc, EndLoc);  } +OMPClause *SemaOpenMP::ActOnOpenMPThreadsetClause(OpenMPThreadsetKind Kind, +                                                  SourceLocation KindLoc, +                                                  SourceLocation StartLoc, +                                                  SourceLocation LParenLoc, +                                                  SourceLocation EndLoc) { +  if (Kind == OMPC_THREADSET_unknown) { +    Diag(KindLoc, diag::err_omp_unexpected_clause_value) +        << getListOfPossibleValues(OMPC_threadset, /*First=*/0, +                                   /*Last=*/unsigned(OMPC_THREADSET_unknown)) +        << getOpenMPClauseName(OMPC_threadset); +    return nullptr; +  } + +  return new (getASTContext()) +      OMPThreadsetClause(Kind, KindLoc, StartLoc, LParenLoc, EndLoc); +} +  OMPClause *SemaOpenMP::ActOnOpenMPProcBindClause(ProcBindKind Kind,                                                   SourceLocation KindKwLoc,                                                   SourceLocation StartLoc, | 
