diff --git a/flang/lib/Lower/Bridge.cpp b/flang/lib/Lower/Bridge.cpp --- a/flang/lib/Lower/Bridge.cpp +++ b/flang/lib/Lower/Bridge.cpp @@ -2861,8 +2861,8 @@ // runtime. if (lhsType->IsPolymorphic() || lhsType->IsUnlimitedPolymorphic() || - rhsType->IsPolymorphic() || - rhsType->IsUnlimitedPolymorphic()) { + (rhsType && (rhsType->IsPolymorphic() || + rhsType->IsUnlimitedPolymorphic()))) { mlir::Value lhs; if (Fortran::lower::isWholeAllocatable(assign.lhs)) lhs = genExprMutableBox(loc, assign.lhs).getAddr();