diff --git a/flang/lib/Lower/ConvertExpr.cpp b/flang/lib/Lower/ConvertExpr.cpp index e4ccddc84f1cb..90de4b83216dd 100644 --- a/flang/lib/Lower/ConvertExpr.cpp +++ b/flang/lib/Lower/ConvertExpr.cpp @@ -3785,6 +3785,12 @@ class ArrayExprLowering { /// Lower rhs of an array expression. ExtValue lowerArrayExpression(const Fortran::lower::SomeExpr &exp) { mlir::Type resTy = converter.genType(exp); + + if (fir::isPolymorphicType(resTy) && + Fortran::evaluate::HasVectorSubscript(exp)) + TODO(getLoc(), + "polymorphic array expression lowering with vector subscript"); + return std::visit( [&](const auto &e) { return lowerArrayExpression(genarr(e), resTy); }, exp.u);