diff options
Diffstat (limited to 'clang/lib/Parse/ParseOpenMP.cpp')
-rw-r--r-- | clang/lib/Parse/ParseOpenMP.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/clang/lib/Parse/ParseOpenMP.cpp b/clang/lib/Parse/ParseOpenMP.cpp index 480201b..18ba1185 100644 --- a/clang/lib/Parse/ParseOpenMP.cpp +++ b/clang/lib/Parse/ParseOpenMP.cpp @@ -4282,7 +4282,7 @@ bool Parser::parseMapTypeModifiers(SemaOpenMP::OpenMPVarListDataTy &Data) { } /// Checks if the token is a valid map-type. -/// FIXME: It will return an OpenMPMapModifierKind if that's what it parses. +/// If it is not MapType kind, OMPC_MAP_unknown is returned. static OpenMPMapClauseKind isMapType(Parser &P) { Token Tok = P.getCurToken(); // The map-type token can be either an identifier or the C++ delete keyword. @@ -4292,7 +4292,11 @@ static OpenMPMapClauseKind isMapType(Parser &P) { OpenMPMapClauseKind MapType = static_cast<OpenMPMapClauseKind>(getOpenMPSimpleClauseType( OMPC_map, PP.getSpelling(Tok), P.getLangOpts())); - return MapType; + if (MapType == OMPC_MAP_to || MapType == OMPC_MAP_from || + MapType == OMPC_MAP_tofrom || MapType == OMPC_MAP_alloc || + MapType == OMPC_MAP_delete || MapType == OMPC_MAP_release) + return MapType; + return OMPC_MAP_unknown; } /// Parse map-type in map clause. |