http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58510
--- Comment #3 from Marek Polacek <mpolacek at gcc dot gnu.org> --- At first blush this seems to fix it: --- a/gcc/cp/init.c +++ b/gcc/cp/init.c @@ -980,9 +980,12 @@ sort_mem_initializers (tree t, tree mem_inits) else if (TREE_VALUE (*last_p) && !TREE_VALUE (init)) goto splice; else - error_at (DECL_SOURCE_LOCATION (current_function_decl), - "initializations for multiple members of %qT", - ctx); + { + error_at (DECL_SOURCE_LOCATION (current_function_decl), + "initializations for multiple members of %qT", + ctx); + goto splice; + } } last_p = p;