https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79805
Bug ID: 79805 Summary: [7 Regression] ICE (verify_flow_info failed) with -fnon-call-exceptions -O Product: gcc Version: 7.0 Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: normal Priority: P3 Component: middle-end Assignee: unassigned at gcc dot gnu.org Reporter: marxin at gcc dot gnu.org CC: jakub at redhat dot com Target Milestone: --- Probably similar to PR79396: $ cat ice.C enum a { b }; template <a = b> class c { bool m_fn1 (); int d; }; template <> bool c<>::m_fn1 () { int e (__atomic_compare_exchange_n (&d, &e, 1, true, 4, 0)); } $ g++ ice.C -fnon-call-exceptions -O -std=c++11 ice.C: In member function ‘bool c<<anonymous> >::m_fn1() [with a <anonymous> = (a)0]’: ice.C:15:1: error: BB 2 can not throw but has an EH edge } ^ ice.C:15:1: internal compiler error: verify_flow_info failed 0x9c0b79 verify_flow_info() ../../gcc/cfghooks.c:260 0xd198d1 execute_function_todo ../../gcc/passes.c:1978 0xd1a2e5 execute_todo ../../gcc/passes.c:2016 Thanks