[clang] [clang] Print static_assert values of arithmetic binary operators (PR #71671)

via cfe-commits cfe-commits at lists.llvm.org
Thu Nov 23 10:43:49 PST 2023


================
@@ -17219,10 +17219,10 @@ static bool UsefulToPrintExpr(const Expr *E) {
   if (const auto *UnaryOp = dyn_cast<UnaryOperator>(E))
     return UsefulToPrintExpr(UnaryOp->getSubExpr());
 
-  // Ignore nested binary operators. This could be a FIXME for improvements
-  // to the diagnostics in the future.
-  if (isa<BinaryOperator>(E))
-    return false;
+  // Only print nested arithmetic operators.
+  if (const auto *BO = dyn_cast<BinaryOperator>(E))
+    return (BO->isShiftOp() || BO->isAdditiveOp() || BO->isMultiplicativeOp() ||
+            BO->isBitwiseOp());
 
----------------
cor3ntin wrote:

Can you clarify? I'm not sure i understood this comment. thanks

https://github.com/llvm/llvm-project/pull/71671


More information about the cfe-commits mailing list