https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79761
Bug ID: 79761 Summary: [CHKP] ICE in chkp_find_bounds_1, at tree-chkp.c:3452 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: ienkovich at gcc dot gnu.org Target Milestone: --- Starting from introduction of MPX, we ICE: $ g++ /home/marxin/Programming/gcc/gcc/testsuite/g++.dg/opt/call2.C -mabi=ms -fcheck-pointer-bounds -mmpx /home/marxin/Programming/gcc/gcc/testsuite/g++.dg/opt/call2.C: In constructor ‘Bar::Bar(\xe2\x80\x98pointer_bounds_typ\xe2\x80\x99 not supported by dump_type#<type error>, Foo, \xe2\x80\x98pointer_bounds_typ\xe2\x80\x99 not supported by dump_type#<type error>, void, ...)’: /home/marxin/Programming/gcc/gcc/testsuite/g++.dg/opt/call2.C:34:1: internal compiler error: in chkp_find_bounds_1, at tree-chkp.c:3605 } ^ 0x102bdb0 chkp_find_bounds_1 ../../gcc/tree-chkp.c:3605 0x102fb5f chkp_find_bounds ../../gcc/tree-chkp.c:3702 0x102fb5f chkp_add_bounds_to_call_stmt ../../gcc/tree-chkp.c:1899 0x102fb5f chkp_instrument_function ../../gcc/tree-chkp.c:4286 0x102fb5f chkp_execute ../../gcc/tree-chkp.c:4470 0x102fb5f execute ../../gcc/tree-chkp.c:4529 Btw. the code in the case looks strange: 3604 case PARM_DECL: 3605 gcc_unreachable (); 3606 bounds = chkp_get_bound_for_parm (ptr_src); 3607 break; 3608 3609 case TARGET_MEM_REF: I would remove lines 3606 and 3607. I've tried for fun to remove the gcc_unreachable and it crashed at a different place.