[flang] Recode a line to dodge a clang warning
authorPeter Klausler <pklausler@nvidia.com>
Sat, 29 Oct 2022 23:00:24 +0000 (16:00 -0700)
committerPeter Klausler <pklausler@nvidia.com>
Sat, 29 Oct 2022 23:02:00 +0000 (16:02 -0700)
Rewrite a correct use of "&" -- conjunction without short-circuiting --
from a recent patch into multiple lines so that clang doesn't warn
about it.

flang/lib/Semantics/expression.cpp

index 6fa4827..603fb87 100644 (file)
@@ -356,8 +356,10 @@ bool ExpressionAnalyzer::CheckPolymorphic(const DataRef &dataRef) {
 }
 
 bool ExpressionAnalyzer::CheckDataRef(const DataRef &dataRef) {
-  // '&' here prevents short-circuiting
-  return CheckRanks(dataRef) & CheckPolymorphic(dataRef);
+  // Always check both, don't short-circuit
+  bool ranksOk{CheckRanks(dataRef)};
+  bool polyOk{CheckPolymorphic(dataRef)};
+  return ranksOk && polyOk;
 }
 
 // Parse tree correction after a substring S(j:k) was misparsed as an