================ @@ -569,7 +573,8 @@ class Expr : public ValueStmt { /// Note: This does not perform the implicit conversions required by C++11 /// [expr.const]p5. bool isCXX11ConstantExpr(const ASTContext &Ctx, APValue *Result = nullptr, - SourceLocation *Loc = nullptr) const; + SourceLocation *Loc = nullptr, + bool CheckUnsignedOverflow = false) const; ---------------- cwarner-8702 wrote:
> Given that unsigned overflow is well defined and allowed in constexpr, having > an argument to disallow it seems a little off. I agree from the compiler's perspective, but it seems in-line with the purpose of a `bugprone` clang tidy check: it's a hint that something may warrant investigation to make sure it is intentional. > From what I can tell the implementation here can just hard code the value > internally to false and the public API for this function remains unchanged I'm not seeing how, since this function sets up the `EvalInfo` that communications the option to the lower-level `CheckedIntArithmetic` function. It's not just checking if the expression is constant, it's also calculating the result, and the overflow is detected during that calculation. https://github.com/llvm/llvm-project/pull/101073 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits