https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101854
--- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> --- So this is not related to nested functions at all (just in case people thought it was): struct Weird { float a[5]; // decrease to 4 will cause the warning to disappear }; struct Weird g(float const Q[2], float const null[6][8]) { return (struct Weird){0}; } void f() { float const q[2]={0}; struct Weird ss = g(q, (void *)0); }