[flang-commits] [flang] [flang] Fixed repacking for TARGET and INTENT(OUT) (PR #131972)
Slava Zakharin via flang-commits
flang-commits at lists.llvm.org
Wed Mar 19 08:12:44 PDT 2025
================
@@ -1011,10 +1018,16 @@ static void deallocateIntentOut(Fortran::lower::AbstractConverter &converter,
static bool needsRepack(Fortran::lower::AbstractConverter &converter,
const Fortran::semantics::Symbol &sym) {
+ const auto &attrs = sym.attrs();
if (!converter.getLoweringOptions().getRepackArrays() ||
!converter.isRegisteredDummySymbol(sym) ||
!Fortran::semantics::IsAssumedShape(sym) ||
- Fortran::evaluate::IsSimplyContiguous(sym, converter.getFoldingContext()))
+ Fortran::evaluate::IsSimplyContiguous(sym,
+ converter.getFoldingContext()) ||
+ // TARGET dummy may be accessed indirectly, so it is unsafe
+ // to repack it. Some compilers provide options to override
+ // this.
+ attrs.test(Fortran::semantics::Attr::TARGET))
----------------
vzakhari wrote:
Thanks! I will add it.
https://github.com/llvm/llvm-project/pull/131972
More information about the flang-commits
mailing list