diff --git a/flang/lib/Lower/Allocatable.cpp b/flang/lib/Lower/Allocatable.cpp --- a/flang/lib/Lower/Allocatable.cpp +++ b/flang/lib/Lower/Allocatable.cpp @@ -572,10 +572,10 @@ if (alloc.type.IsPolymorphic()) genRuntimeAllocateApplyMold(builder, loc, box, sourceExv, alloc.getSymbol().Rank()); - genSetDeferredLengthParameters(alloc, box); genAllocateObjectBounds(alloc, box); mlir::Value stat = genRuntimeAllocateSource(builder, loc, box, sourceExv, errorManager); + genSetDeferredLengthParameters(alloc, box); fir::factory::syncMutableBoxFromIRBox(builder, loc, box); errorManager.assignStat(builder, loc, stat); }