diff options
Diffstat (limited to 'clang/lib/Basic/OpenMPKinds.cpp')
| -rw-r--r-- | clang/lib/Basic/OpenMPKinds.cpp | 19 | 
1 files changed, 19 insertions, 0 deletions
| diff --git a/clang/lib/Basic/OpenMPKinds.cpp b/clang/lib/Basic/OpenMPKinds.cpp index 64b2bff..3d41f2d 100644 --- a/clang/lib/Basic/OpenMPKinds.cpp +++ b/clang/lib/Basic/OpenMPKinds.cpp @@ -210,6 +210,15 @@ unsigned clang::getOpenMPSimpleClauseType(OpenMPClauseKind Kind, StringRef Str,  #define OPENMP_ALLOCATE_MODIFIER(Name) .Case(#Name, OMPC_ALLOCATE_##Name)  #include "clang/Basic/OpenMPKinds.def"          .Default(OMPC_ALLOCATE_unknown); +  case OMPC_threadset: { +    unsigned Type = llvm::StringSwitch<unsigned>(Str) +#define OPENMP_THREADSET_KIND(Name) .Case(#Name, OMPC_THREADSET_##Name) +#include "clang/Basic/OpenMPKinds.def" +                        .Default(OMPC_THREADSET_unknown); +    if (LangOpts.OpenMP < 60) +      return OMPC_THREADSET_unknown; +    return Type; +  }    case OMPC_num_threads: {      unsigned Type = llvm::StringSwitch<unsigned>(Str)  #define OPENMP_NUMTHREADS_MODIFIER(Name) .Case(#Name, OMPC_NUMTHREADS_##Name) @@ -565,6 +574,16 @@ const char *clang::getOpenMPSimpleClauseTypeName(OpenMPClauseKind Kind,  #include "clang/Basic/OpenMPKinds.def"      }      llvm_unreachable("Invalid OpenMP 'num_threads' clause modifier"); +  case OMPC_threadset: +    switch (Type) { +    case OMPC_THREADSET_unknown: +      return "unknown"; +#define OPENMP_THREADSET_KIND(Name)                                            \ +  case OMPC_THREADSET_##Name:                                                  \ +    return #Name; +#include "clang/Basic/OpenMPKinds.def" +    } +    llvm_unreachable("Invalid OpenMP 'threadset' clause modifier");    case OMPC_unknown:    case OMPC_threadprivate:    case OMPC_groupprivate: | 
