> Overflow of *unsigned* types is well-defined.
Indeed. But I don't think pointers are unsigned by default, are they?
The implementation of pointers is indeed unsigned on most machines,but
they are not "unsigned types", which would mean integral unsigned types.
So overflow is indeed undefined.