[clang] b62c45c - Fix sanitize problem. (#90800)
via cfe-commits
cfe-commits at lists.llvm.org
Thu May 2 20:54:24 PDT 2024
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.
More information about the cfe-commits
mailing list