aboutsummaryrefslogtreecommitdiff
path: root/flang/lib/Semantics/pointer-assignment.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'flang/lib/Semantics/pointer-assignment.cpp')
-rw-r--r--flang/lib/Semantics/pointer-assignment.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/flang/lib/Semantics/pointer-assignment.cpp b/flang/lib/Semantics/pointer-assignment.cpp
index 7661a36..9ac18b0 100644
--- a/flang/lib/Semantics/pointer-assignment.cpp
+++ b/flang/lib/Semantics/pointer-assignment.cpp
@@ -429,7 +429,9 @@ bool CheckPointerAssignment(evaluate::FoldingContext &context,
}
PointerAssignmentChecker checker{context, scope, *pointer};
checker.set_isBoundsRemapping(isBoundsRemapping);
- return checker.CheckLeftHandSide(lhs) & checker.Check(rhs);
+ bool lhsOk{checker.CheckLeftHandSide(lhs)};
+ bool rhsOk{checker.Check(rhs)};
+ return lhsOk && rhsOk; // don't short-circuit
}
bool CheckStructConstructorPointerComponent(evaluate::FoldingContext &context,