[clang] Don't wrap immediate invocations in ConstantExprs within constexpr initializers (PR #89565)

via cfe-commits cfe-commits at lists.llvm.org
Mon Apr 29 09:00:52 PDT 2024


================
@@ -16548,11 +16548,10 @@ static void CheckImplicitConversion(Sema &S, Expr *E, QualType T,
         std::string PrettySourceValue = toString(Value, 10);
         std::string PrettyTargetValue = PrettyPrintInRange(Value, TargetRange);
 
-        S.DiagRuntimeBehavior(
-            E->getExprLoc(), E,
-            S.PDiag(diag::warn_impcast_integer_precision_constant)
-                << PrettySourceValue << PrettyTargetValue << E->getType() << T
-                << E->getSourceRange() << SourceRange(CC));
----------------
cor3ntin wrote:

I'm fine with things as-is.
As a follow up we could: 
 - Make it a warning that default to an error
 - Try to remove the duplication in C and in the `constexpr char c = {1000}` case

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


More information about the cfe-commits mailing list