http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50473
Paolo Carlini <paolo.carlini at oracle dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jason at gcc dot gnu.org, | |paolo.carlini at oracle dot | |com --- Comment #1 from Paolo Carlini <paolo.carlini at oracle dot com> 2011-10-17 10:53:44 UTC --- Jason, the call chain here is set_up_extended_ref_temp -> get_target_expr -> get_target_expr_sfinae -> build_target_expr_with_type -> type_has_nontrivial_copy_init, which hits gcc_assert (COMPLETE_TYPE_P (t)). Looks like tweaking, eg, build_target_expr_with_type, to check for the offending situation and return error_mark_node avoids the ICE, but I don't know at the moment if something deeper is actually going on...