https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92745
--- Comment #6 from Marek Polacek <mpolacek at gcc dot gnu.org> --- Potential fix: --- gcc/cp/decl.c +++ gcc/cp/decl.c @@ -6408,11 +6408,11 @@ reshape_init_r (tree type, reshape_iter *d, bool first_initializer_p, /* For a nested compound literal, there is no need to reshape since we called reshape_init in finish_compound_literal, before calling digest_init. */ - else if (COMPOUND_LITERAL_P (stripped_init) - /* Similarly, a CONSTRUCTOR of the target's type is a - previously digested initializer. */ - || same_type_ignoring_top_level_qualifiers_p (type, - init_type)) + else if (COMPOUND_LITERAL_P (stripped_init)) + gcc_assert (!BRACE_ENCLOSED_INITIALIZER_P (stripped_init)); + /* Similarly, a CONSTRUCTOR of the target's type is a previously + digested initializer. */ + else if (same_type_ignoring_top_level_qualifiers_p (type, init_type)) { ++d->cur; gcc_assert (!BRACE_ENCLOSED_INITIALIZER_P (stripped_init));