http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58705
--- Comment #3 from Marek Polacek <mpolacek at gcc dot gnu.org> --- This will fix the ICE, but perhaps we want to give an error instead... I'll regtest this and post to ML. --- a/gcc/cp/typeck2.c +++ b/gcc/cp/typeck2.c @@ -833,7 +833,8 @@ check_narrowing (tree type, tree init) && TREE_CODE (type) == COMPLEX_TYPE) { tree elttype = TREE_TYPE (type); - check_narrowing (elttype, CONSTRUCTOR_ELT (init, 0)->value); + if (CONSTRUCTOR_NELTS (init) > 0) + check_narrowing (elttype, CONSTRUCTOR_ELT (init, 0)->value); if (CONSTRUCTOR_NELTS (init) > 1) check_narrowing (elttype, CONSTRUCTOR_ELT (init, 1)->value); return;