http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47538
--- Comment #11 from Richard Guenther <rguenth at gcc dot gnu.org> 2011-01-31 10:44:08 UTC --- (In reply to comment #9) > > Why do we need something so ill-designed as sizetype? Just for Ada? > > Yes, they are useful for Ada, but the _original_ design; the POINTER_PLUS_EXPR > mistake is orthogonal to it and shouldn't be an excuse to eliminate them. I agree with that POINTER_PLUS_EXPR shouldn't have used sizetype. But - the problem with sizetype is not that they exist (and have that special overflow behavior), but - that sizetypes are considered always sign-extended despite TYPE_UNSIGNED saying "yes!". That's a very very very bad design mistake. I tried to "fix" that mistake at least two times IIRC but failed. At the end -> no-undefined-overflow branch (no more sizetype).