================
@@ -14883,14 +14880,12 @@ void Sema::CheckArrayAccess(const Expr *BaseExpr,
const Expr *IndexExpr,
// Diag message shows element size in bits and in "bytes" (platform-
// dependent CharUnits)
- DiagRuntimeBehavior(BaseExpr->getBeginLoc(), BaseExpr,
- PDiag(DiagID)
- << toString(index, 10, true) << AddrBits
- << (unsigned)ASTC.toBits(*ElemCharUnits)
- << toString(ElemBytes, 10, false)
- << toString(MaxElems, 10, false)
- << (unsigned)MaxElems.getLimitedValue(~0U)
- << IndexExpr->getSourceRange());
+ DiagRuntimeBehavior(
+ BaseExpr->getBeginLoc(), BaseExpr,
+ PDiag(DiagID) << index << AddrBits
+ << (unsigned)ASTC.toBits(*ElemCharUnits) << ElemBytes
+ << MaxElems << (unsigned)MaxElems.getLimitedValue(~0U)
----------------
erichkeane wrote:
it might be nice to do something with `getLimitedValue` here too? It actually
has a bit of a bug (getLimitedValue is a 64 bit value, but we're casting to
32!), and is suppressing the tags here.
It would be nice if we could do some sort of 'get min of two' and start with
APSInts/APInts.
EDIT: THOUGH I see that the message actually DOES have the value in it? What
is this last one actually doing/being used for in this diagnostic?
https://github.com/llvm/llvm-project/pull/161474
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits