http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51566
--- Comment #2 from Greta Yorsh <Greta.Yorsh at arm dot com> 2012-01-19 10:50:09 UTC --- I did git bisect and it shows that the ICE disappears from r182403. Looks like the problem has been fixed by this patch: http://gcc.gnu.org/ml/gcc-patches/2011-12/msg01247.html It's a fix for PR51576, where the error message is similar to the error message we get here, before ICE: "error: statement marked for throw, but doesn’t".