diff --git a/flang/lib/Semantics/expression.cpp b/flang/lib/Semantics/expression.cpp index e139bda7e4950..e5a9aef96c1c7 100644 --- a/flang/lib/Semantics/expression.cpp +++ b/flang/lib/Semantics/expression.cpp @@ -421,7 +421,8 @@ static void CheckSubscripts( static void CheckSubscripts( semantics::SemanticsContext &context, CoarrayRef &ref) { - const Symbol &coarraySymbol{ref.GetBase().GetLastSymbol()}; + const auto &base{ref.GetBase()}; + const Symbol &coarraySymbol{base.GetLastSymbol()}; Shape lb, ub; if (FoldSubscripts(context, coarraySymbol, ref.subscript(), lb, ub)) { ValidateSubscripts(context, coarraySymbol, ref.subscript(), lb, ub);