diff --git a/flang/lib/Lower/ConvertCall.cpp b/flang/lib/Lower/ConvertCall.cpp --- a/flang/lib/Lower/ConvertCall.cpp +++ b/flang/lib/Lower/ConvertCall.cpp @@ -1345,6 +1345,8 @@ } if (!argLowering) { // No argument lowering instruction, lower by value. + assert(!arg.value()->handleDynamicOptional() && + "should use genOptionalValue"); hlfir::Entity actual = arg.value()->getActual(loc, builder); operands.emplace_back( Fortran::lower::convertToValue(loc, converter, actual, stmtCtx));