https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105925
--- Comment #6 from CVS Commits <cvs-commit at gcc dot gnu.org> --- The releases/gcc-12 branch has been updated by Jason Merrill <ja...@gcc.gnu.org>: https://gcc.gnu.org/g:db29b66193407d2fd6a04a07ecbd961c8d3f7d62 commit r12-8511-gdb29b66193407d2fd6a04a07ecbd961c8d3f7d62 Author: Jason Merrill <ja...@redhat.com> Date: Thu Jun 23 16:04:02 2022 -0400 c++: anon union designated init [PR105925] This testcase was failing because CONSTRUCTOR_IS_DESIGNATED_INIT wasn't getting set on the introduced CONSTRUCTOR for the anonymous union, and build_aggr_conv uses that flag to decide whether to pay attention to the indexes of the CONSTRUCTOR. So set the flag when we see a designator rather than relying on copying it from another CONSTRUCTOR. PR c++/105925 gcc/cp/ChangeLog: * decl.cc (reshape_init_array_1): Set CONSTRUCTOR_IS_DESIGNATED_INIT here. (reshape_init_class): And here. gcc/testsuite/ChangeLog: * g++.dg/cpp2a/desig26.C: New test.