https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98101
Bug ID: 98101 Summary: ICE in mark_reachable_handlers, at tree-eh.c:4033 Product: gcc Version: 11.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: gs...@t-online.de Target Milestone: --- Affects versions down to at least r5, only at -O0 : (used options affect also several testsuite files) (under the hood maybe related to pr59507/pr88640) $ cat z1.cc struct A { virtual ~A(); }; struct B { A a[1]; } b; $ g++-11-20201129 -c z1.cc -fnon-call-exceptions -fvtable-verify=std -O2 $ $ g++-11-20201129 -c z1.cc -fnon-call-exceptions -fvtable-verify=std during GIMPLE pass: ehcleanup z1.cc: In destructor 'B::~B()': z1.cc:2:8: internal compiler error: in mark_reachable_handlers, at tree-eh.c:4033 2 | struct B { A a[1]; } b; | ^ 0xcd644d mark_reachable_handlers ../../gcc/tree-eh.c:4033 0xcd6482 remove_unreachable_handlers ../../gcc/tree-eh.c:4080 0xcda601 execute_cleanup_eh_1 ../../gcc/tree-eh.c:4783 0xcda601 execute ../../gcc/tree-eh.c:4850 --- z1.cc: In destructor 'B::~B()': z1.cc:2:8: error: statement marked for throw in middle of block 2 | struct B { A a[1]; } b; | ^ # VUSE <.MEM_7> _13 = _12->_vptr.A; during GIMPLE pass: vtable-verify z1.cc:2:8: internal compiler error: verify_gimple failed 0xfcaaf4 verify_gimple_in_cfg(function*, bool) ../../gcc/tree-cfg.c:5467 0xe867ee execute_function_todo ../../gcc/passes.c:2039 0xe87692 execute_todo ../../gcc/passes.c:2093