https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107595
--- Comment #5 from anlauf at gcc dot gnu.org --- (In reply to Richard Biener from comment #4) > The initializer is > > {.a=4, .b=null ()} > > the frontend would need to lower such initializers to runtime initialization > (or not use static storage). Right. The tree-dump for z2 has static struct t x = {.a=4, .b=0B}; which is what is expected, while z1 currently gives static struct t x = {.a=4, .b=null ()}; That looks like sth. that is fixable. (There is at least one other compiler that supports the same extension.) On the other hand, since I get the same ICE with all versions down to v7, why is this marked as a regression?