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