https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70577
--- Comment #7 from Martin Liška <marxin at gcc dot gnu.org> --- (In reply to Jakub Jelinek from comment #6) > I think -1 is the right answer, these are flexible array-like arrays, > where one could e.g. > struct tail0 *p = malloc (sizeof (struct tail0) + 131072 * sizeof (int)); > initialize (p); > loop0 (131072, p); > and similarly for tail1/loop1. Ah, you are right, thanks for explanation.