https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69438
--- Comment #6 from Abe <abe_skolnik at yahoo dot com> --- Further analysis shows that the ICE "needs" _both_ of the "V(0)" calls; removing either one from the following eliminates the ICE. __attribute__((noreturn)) void V(int); struct R{R(){} R(const R&r){}}; R f(){V(0); return R();} R c(){V(0); return R();}