https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113012
--- Comment #7 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Obviously we shouldn't ICE on this. But, saying 0 as usable size on such UB pointer is I think completely valid (making it clear that you can't really dereference such pointer nor anything derived from it, even *++widths is invalid), just obviously it can't appear as lhs of assignment...