tbaeder accepted this revision.
tbaeder added inline comments.
This revision is now accepted and ready to land.


================
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();
----------------
hazohelet wrote:
> 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.
From reading the code, it makes sense to me do emit this diagnostic here, but I 
can't get it to trigger either because the increment operator is always 
evaluated standalone and not as part of a function.

For this patch, let's ignore that. The changes here are fine.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D157383

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to