Le 2015-11-16 15:46, Barry Smith a écrit :
On Nov 16, 2015, at 2:41 PM, Jed Brown <[email protected]> wrote:

Barry Smith <[email protected]> writes:
  Out goal is that if something won't fit in a 32 bit int we use a 64
  bit integer when possible or at least produce a very useful error
  message instead of the horrible malloc error you get.  The more
  crashes you can give us the quicker we can fix these errors.
This feels like something that we should be able to find with static
analysis, though I don't know how since many of the problems are a
consequence of unsuffixed numeric literals having type "int".

What if we compiled for an I16LP32 architecture (emulator) so we could
find these problems at small scale?
   Or defined PetscInt to be short for test runs?


PetscInt to short should work, as the integer overflow will happen at a much smaller scale, but will still result in a malloc of ~2^63 bytes of memory once the negative number is converted back to size_t.


Reply via email to