https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93438
Bug ID: 93438 Summary: ICE in operator[], at vec.h:867 Product: gcc Version: 10.0 Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: normal Priority: P3 Component: analyzer Assignee: dmalcolm at gcc dot gnu.org Reporter: asolokha at gmx dot com Target Milestone: --- gcc-10.0.0-alpha20200119 snapshot (g:3684bbb022cd75da55e1457673f269980aa12cdf) ICEs when compiling the following testcase w/ -fanalyzer: void tw (int **la, int pk) { int *ow = *la; int jo = !!pk; if (jo == 0) *la = &pk; tw (&ow, pk); } % gcc-10.0.0-alpha20200119 -fanalyzer -c yxwf0zfa.c during IPA pass: analyzer yxwf0zfa.c: In function 'tw': yxwf0zfa.c:8:9: internal compiler error: in operator[], at vec.h:867 8 | *la = &pk; | ~~~~^~~~~ 0x719d3a vec<region_id, va_heap, vl_embed>::operator[](unsigned int) /var/tmp/portage/sys-devel/gcc-10.0.0_alpha20200119/work/gcc-10-20200119/gcc/vec.h:867 0x71adee vec<region_id, va_heap, vl_embed>::operator[](unsigned int) /var/tmp/portage/sys-devel/gcc-10.0.0_alpha20200119/work/gcc-10-20200119/gcc/tree.h:3392 0x71adee vec<region_id, va_heap, vl_ptr>::operator[](unsigned int) const /var/tmp/portage/sys-devel/gcc-10.0.0_alpha20200119/work/gcc-10-20200119/gcc/vec.h:1424 0x71adee stack_region::get_frame_rid(unsigned int) const /var/tmp/portage/sys-devel/gcc-10.0.0_alpha20200119/work/gcc-10-20200119/gcc/analyzer/region-model.h:1367 0x71adee region_model::get_lvalue_1(path_var, region_model_context*) /var/tmp/portage/sys-devel/gcc-10.0.0_alpha20200119/work/gcc-10-20200119/gcc/analyzer/region-model.cc:4665 0x11007d3 region_model::get_lvalue(path_var, region_model_context*) /var/tmp/portage/sys-devel/gcc-10.0.0_alpha20200119/work/gcc-10-20200119/gcc/analyzer/region-model.cc:4712 0x11009d4 region_svalue::merge_values(region_svalue const&, region_svalue const&, svalue_id*, tree_node*, model_merger*) /var/tmp/portage/sys-devel/gcc-10.0.0_alpha20200119/work/gcc-10-20200119/gcc/analyzer/region-model.cc:509 0x1100bd0 model_merger::can_merge_values_p(svalue_id, svalue_id, svalue_id*) /var/tmp/portage/sys-devel/gcc-10.0.0_alpha20200119/work/gcc-10-20200119/gcc/analyzer/region-model.cc:6717 0x1100f01 map_region::can_merge_p(map_region const*, map_region const*, map_region*, region_id, model_merger*) /var/tmp/portage/sys-devel/gcc-10.0.0_alpha20200119/work/gcc-10-20200119/gcc/analyzer/region-model.cc:1906 0x11012be stack_region::can_merge_p(stack_region const*, stack_region const*, model_merger*) /var/tmp/portage/sys-devel/gcc-10.0.0_alpha20200119/work/gcc-10-20200119/gcc/analyzer/region-model.cc:2657 0x110178c stack_region::can_merge_p(stack_region const*, stack_region const*, model_merger*) /var/tmp/portage/sys-devel/gcc-10.0.0_alpha20200119/work/gcc-10-20200119/gcc/vec.h:1411 0x110178c root_region::can_merge_p(root_region const*, root_region const*, root_region*, model_merger*) /var/tmp/portage/sys-devel/gcc-10.0.0_alpha20200119/work/gcc-10-20200119/gcc/analyzer/region-model.cc:3057 0x11018d2 region_model::can_merge_with_p(region_model const&, region_model*, svalue_id_merger_mapping*) const /var/tmp/portage/sys-devel/gcc-10.0.0_alpha20200119/work/gcc-10-20200119/gcc/analyzer/region-model.cc:6343 0x10ef42e program_state::can_merge_with_p(program_state const&, extrinsic_state const&, program_state*) const /var/tmp/portage/sys-devel/gcc-10.0.0_alpha20200119/work/gcc-10-20200119/gcc/analyzer/program-state.cc:909 0x10df5a3 exploded_graph::get_or_create_node(program_point const&, program_state const&, state_change*) /var/tmp/portage/sys-devel/gcc-10.0.0_alpha20200119/work/gcc-10-20200119/gcc/analyzer/engine.cc:1892 0x10e21e9 exploded_graph::process_node(exploded_node*) /var/tmp/portage/sys-devel/gcc-10.0.0_alpha20200119/work/gcc-10-20200119/gcc/analyzer/engine.cc:2450 0x10e29b2 exploded_graph::process_worklist() /var/tmp/portage/sys-devel/gcc-10.0.0_alpha20200119/work/gcc-10-20200119/gcc/analyzer/engine.cc:2253 0x10e3039 impl_run_checkers(logger*) /var/tmp/portage/sys-devel/gcc-10.0.0_alpha20200119/work/gcc-10-20200119/gcc/analyzer/engine.cc:3570 0x10e3ad3 run_checkers() /var/tmp/portage/sys-devel/gcc-10.0.0_alpha20200119/work/gcc-10-20200119/gcc/analyzer/engine.cc:3624 0x10d9558 execute /var/tmp/portage/sys-devel/gcc-10.0.0_alpha20200119/work/gcc-10-20200119/gcc/analyzer/analyzer-pass.cc:84