Author: jyu2-git Date: 2024-05-02T20:54:20-07:00 New Revision: b62c45cfe514237f71a7f461ba283dd13a92bfe0
URL: https://github.com/llvm/llvm-project/commit/b62c45cfe514237f71a7f461ba283dd13a92bfe0 DIFF: https://github.com/llvm/llvm-project/commit/b62c45cfe514237f71a7f461ba283dd13a92bfe0.diff LOG: Fix sanitize problem. (#90800) Currently isMapType could return OpenMPMapModifierKind. The change is to return OpenMPMapTypeKind only, if it is not MapType Kind OMPC_MAP_unknown is returned. Added: Modified: clang/lib/Parse/ParseOpenMP.cpp Removed: ################################################################################ diff --git a/clang/lib/Parse/ParseOpenMP.cpp b/clang/lib/Parse/ParseOpenMP.cpp index 480201bc06f613..18ba1185ee8de7 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. _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits