https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70170
--- Comment #10 from Jakub Jelinek <jakub at gcc dot gnu.org> --- (In reply to Jason Merrill from comment #9) > (In reply to Jakub Jelinek from comment #7) > > A small problem is that the second argument to POINTER_PLUS_EXPR is not > > signed, but unsigned (sizetype). Which is why I wrote "negative", negative > > would mean having the most significant bit set or so. > > This seems to cause a variety of problems. Since it can be negative, surely > it should have ssizetype? I'll let Richi or Andrew Pinski comment on that design decision. I fear changing that in stage4 is not really possible.