================ @@ -1906,8 +2036,22 @@ bool ClauseProcessor::processMap( for (const Fortran::parser::OmpObject &ompObject : std::get<Fortran::parser::OmpObjectList>(mapClause->v.t).v) { + llvm::omp::OpenMPOffloadMappingFlags objectsMapTypeBits = mapTypeBits; + checkAndApplyDeclTargetMapFlags(converter, objectsMapTypeBits, + getOmpObjectSymbol(ompObject)); + llvm::SmallVector<mlir::Value> bounds; std::stringstream asFortran; + const Fortran::semantics::Symbol *parentSym = nullptr; + + if (getOmpObjectSymbol(ompObject)->owner().IsDerivedType()) { + memberPlacementIndices.push_back( + firOpBuilder.getI64IntegerAttr(findComponenetMemberPlacement( + getOmpObjectSymbol(ompObject)->owner().symbol(), ---------------- ergawy wrote:
Maybe a dummy question, but in which cases would `getOmpObjectSymbol(ompObject)->owner().symbol()` and `getOmpObjParentSymbol(ompObject)` would return different symbols? Can you give me an example for such a case? https://github.com/llvm/llvm-project/pull/81511 _______________________________________________ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits