[flang-commits] [flang] [flang] handle passing bind(c) derived type by value for ppc64le and powerpc64-aix (PR #128780)
via flang-commits
flang-commits at lists.llvm.org
Wed Feb 26 01:19:45 PST 2025
================
@@ -1049,6 +1049,29 @@ struct TargetPPC64 : public GenericTarget<TargetPPC64> {
AT{});
return marshal;
}
+
+ CodeGenSpecifics::Marshalling
+ structType(mlir::Location loc, fir::RecordType ty, bool isResult) const {
+ CodeGenSpecifics::Marshalling marshal;
+ auto sizeAndAlign{
+ fir::getTypeSizeAndAlignmentOrCrash(loc, ty, getDataLayout(), kindMap)};
+ unsigned short align{
+ std::max(sizeAndAlign.second, static_cast<unsigned short>(8))};
+ marshal.emplace_back(fir::ReferenceType::get(ty),
+ AT{align, /*byvale*/ !isResult, /*sret*/ isResult});
----------------
jeanPerier wrote:
```suggestion
AT{align, /*byval*/ !isResult, /*sret*/ isResult});
```
https://github.com/llvm/llvm-project/pull/128780
More information about the flang-commits
mailing list