[PATCH] D39049: [analyzer] Fix wrong calculation of offset in ArrayBoundsV2

Artem Dergachev via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Mon Oct 30 03:37:41 PDT 2017


NoQ added a comment.

  // TODO: once the constraint manager is smart enough to handle non simplified
  // symbolic expressions remove this function. Note that this can not be used in
  // the constraint manager as is, since this does not handle overflows. It is
  // safe to assume, however, that memory offsets will not overflow.

Wasn't safe enough, i guess. This is fairly similar to https://reviews.llvm.org/D35109, so someone would have to eventually //do some convincing math// to either prove that some sort of "forget about overflows" approach is indeed safe, or avoid overflows properly, or handle overflows properly. I feel that it's already clear that quick intuition-based solutions don't quite cut it when there are a lot of different types, signednesses, promotion rules, signed/unsigned overflows, and signed/unsigned extensions involved.


Repository:
  rL LLVM

https://reviews.llvm.org/D39049





More information about the cfe-commits mailing list