https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105510
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Summary|[12] error: initializer |error: initializer element |element is not constant |is not constant CC| |jsm28 at gcc dot gnu.org Known to fail| |4.3.5, 7.5.0 --- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> --- As a workaround it works with struct Test t=(struct Test){1, {3, 4}}; I don't think it your way of writing is actually valid though.