https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83399
--- Comment #12 from Peter Bergner <bergner at gcc dot gnu.org> --- (In reply to Segher Boessenkool from comment #11) > It is not valid: (void *)&a - 32 does not point inside a (or just behind > it). > > Perhaps you can make it valid using uintptr_t. Either way: should not ICE I'm not THAT interested in fixing that! :-) Invalid is fine with me.