title: ptrdiff_t too small?
body: <p>I've always wondered: isn't <code>ptrdiff_t</code> supposed to be able to hold the difference of any two pointers <em>by definition</em>? How come it fails when the two pointers are too far? (I'm not pointing at any particular language... I'm referring to all languages which have this type.)</p>
  
  <p>(e.g. subtract the pointer with address <code>1</code> from the byte pointer with address <code>0xFFFFFFFF</code> when you have 32-bit pointers, and it overflows the sign bit...)</p>