https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61502
--- Comment #14 from Keith Thompson <Keith.S.Thompson at gmail dot com> --- The C standard requires that, if y "happens to immediately follow" x in the address space, then a pointer just past the end of x shall compare equal to a pointer to the beginning of y (C99 and C11 6.5.9p6). How could I distinguish the current behavior of gcc from the behavior of a hypothetical C compiler that violates that requirement? In other words, in what sense does gcc actually obey that requirement? Or is it your position that the requirement is so vague that it cannot meaningfully be followed? If so, have you followed up with the standard committee to clarify or remove it?