================ @@ -907,28 +908,46 @@ void ClauseProcessor::processMapObjects( object.ref(), clauseLocation, asFortran, bounds, treatIndexAsSection); + mlir::Value baseOp = info.rawInput; + if (object.sym()->owner().IsDerivedType()) { + omp::ObjectList objectList = gatherObjects(object, semaCtx); + assert(!objectList.empty() && + "could not find parent objects of derived type member"); + parentObj = objectList[0]; ---------------- skatrak wrote:
Nit: It's not clear to me why the first returned object is guaranteed to be the parent. Perhaps adding a description to `gatherObjects` would help. https://github.com/llvm/llvm-project/pull/111192 _______________________________________________ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits