================
@@ -4477,8 +4515,16 @@ static void processMapMembersWithParent(
mapFlag &= ~llvm::omp::OpenMPOffloadMappingFlags::OMP_MAP_TARGET_PARAM;
mapFlag |= llvm::omp::OpenMPOffloadMappingFlags::OMP_MAP_MEMBER_OF;
ompBuilder.setCorrectMemberOfFlag(mapFlag, memberOfFlag);
- if (checkIfPointerMap(memberClause))
+ bool isDeclTargetTo = isDeclareTargetTo(parentClause.getVarPtr()
+ ? parentClause.getVarPtr()
+ : parentClause.getVarPtrPtr());
+ if (checkIfPointerMap(memberClause) &&
+ (!isDeclTargetTo ||
+ (isDeclTargetTo &&
+ targetDirective != TargetDirectiveEnumTy::TargetUpdate &&
+ targetDirective != TargetDirectiveEnumTy::TargetData))) {
----------------
skatrak wrote:
Nit: The second check for `isDeclTargetTo` seems redundant.
```suggestion
(!isDeclTargetTo ||
(targetDirective != TargetDirectiveEnumTy::TargetUpdate &&
targetDirective != TargetDirectiveEnumTy::TargetData))) {
```
https://github.com/llvm/llvm-project/pull/119589
_______________________________________________
llvm-branch-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits