diff options
Diffstat (limited to 'flang/lib/Evaluate/check-expression.cpp')
-rw-r--r-- | flang/lib/Evaluate/check-expression.cpp | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/flang/lib/Evaluate/check-expression.cpp b/flang/lib/Evaluate/check-expression.cpp index 647eebaaa0..839717d 100644 --- a/flang/lib/Evaluate/check-expression.cpp +++ b/flang/lib/Evaluate/check-expression.cpp @@ -1304,10 +1304,12 @@ std::optional<bool> IsContiguous(const A &x, FoldingContext &context, std::optional<bool> IsContiguous(const ActualArgument &actual, FoldingContext &fc, bool namedConstantSectionsAreContiguous, bool firstDimensionStride1) { - auto *expr{actual.UnwrapExpr()}; - return expr && - IsContiguous( - *expr, fc, namedConstantSectionsAreContiguous, firstDimensionStride1); + if (auto *expr{actual.UnwrapExpr()}) { + return IsContiguous( + *expr, fc, namedConstantSectionsAreContiguous, firstDimensionStride1); + } else { + return std::nullopt; + } } template std::optional<bool> IsContiguous(const Expr<SomeType> &, |