diff --git a/flang/lib/Lower/Bridge.cpp b/flang/lib/Lower/Bridge.cpp index 579f94ba75684..7577c49fbbc16 100644 --- a/flang/lib/Lower/Bridge.cpp +++ b/flang/lib/Lower/Bridge.cpp @@ -3115,10 +3115,10 @@ class FirConverter : public Fortran::lower::AbstractConverter { hlfir::Entity nullBoxProc( fir::factory::createNullBoxProc(*builder, loc, boxTy)); builder->createStoreWithConvert(loc, nullBoxProc, pptr); - return; + } else { + fir::MutableBoxValue box = genExprMutableBox(loc, *expr); + fir::factory::disassociateMutableBox(*builder, loc, box); } - fir::MutableBoxValue box = genExprMutableBox(loc, *expr); - fir::factory::disassociateMutableBox(*builder, loc, box); } }