[PATCH] D157383: [clang][Diagnostics] Provide source range to integer-overflow warnings

Takuya Shimizu via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Tue Aug 8 05:22:44 PDT 2023


hazohelet added inline comments.


================
Comment at: clang/lib/AST/Interp/Interp.h:530-535
   if (S.checkingForUndefinedBehavior()) {
     SmallString<32> Trunc;
     APResult.trunc(Result.bitWidth()).toString(Trunc, 10);
     auto Loc = E->getExprLoc();
-    S.report(Loc, diag::warn_integer_constant_overflow) << Trunc << Type;
+    S.report(Loc, diag::warn_integer_constant_overflow)
+        << Trunc << Type << E->getSourceRange();
----------------
tbaeder wrote:
> hazohelet wrote:
> > I'm not sure whether this branch takes effect.
> > I could not find codes that takes this block, so I haven't added tests for this.
> > 
> > FWIW, the old interpreter does not have the corresponding `warn_integer_constant_overflow` generated against overflowing increments.
> Is is not this: https://godbolt.org/z/eqn4Gs13q?
That note is emitted from `S.CCEDiag` at L539.
This warning looks like it is intended to be emitted when the function is not constexpr, but it does not appear.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D157383/new/

https://reviews.llvm.org/D157383



More information about the cfe-commits mailing list