[Bug c++/98101] New: ICE in mark_reachable_handlers, at tree-eh.c:4033

gscfq@t-online.de gcc-bugzilla@gcc.gnu.org
Wed Dec 2 17:15:32 GMT 2020


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: gscfq@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


More information about the Gcc-bugs mailing list