https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96949
Bug ID: 96949 Summary: ICE in get_bit_offset, at analyzer/analyzer.h:164 Product: gcc Version: 11.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: analyzer Assignee: dmalcolm at gcc dot gnu.org Reporter: asolokha at gmx dot com Target Milestone: --- Target: powerpc-*-linux-gnu gfortran-11.0.0-alpha20200906 snapshot (g:23f8b90c401842afcbaa50a7fd3c2f37818f4396) ICEs when compiling the following testcase w/ -fanalyzer --param analyzer-max-svalue-depth=0: program n6 integer :: ck(2,2) integer :: ac data ck /4 * 1/ call x9() contains subroutine x9() if (ck(2, 1) == 1) then ac = 1 else ac = 0 end if end subroutine x9 end program n6 % powerpc-e300c3-linux-gnu-gfortran-11.0.0 -fanalyzer --param analyzer-max-svalue-depth=0 -c d6ym5nxs.f90 during IPA pass: analyzer d6ym5nxs.f90:11:0: 11 | if (ck(2, 1) == 1) then | internal compiler error: in get_bit_offset, at analyzer/analyzer.h:164 0x70304f ana::region_offset::get_bit_offset() const /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-11.0.0_alpha20200906/work/gcc-11-20200906/gcc/analyzer/analyzer.h:164 0x70304f ana::region_offset::get_bit_offset() const /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-11.0.0_alpha20200906/work/gcc-11-20200906/gcc/analyzer/analyzer.h:162 0x70304f ana::binding_map::apply_ctor_val_to_range(ana::region const*, ana::region_model_manager*, tree_node*, tree_node*, tree_node*) /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-11.0.0_alpha20200906/work/gcc-11-20200906/gcc/analyzer/store.cc:460 0x11fbe35 ana::binding_map::apply_ctor_to_region(ana::region const*, tree_node*, ana::region_model_manager*) /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-11.0.0_alpha20200906/work/gcc-11-20200906/gcc/analyzer/store.cc:428 0x11c8a5a ana::decl_region::get_svalue_for_constructor(tree_node*, ana::region_model_manager*) const /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-11.0.0_alpha20200906/work/gcc-11-20200906/gcc/analyzer/region.cc:907 0x11cd8ae ana::region_model::get_initial_value_for_global(ana::region const*) const /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-11.0.0_alpha20200906/work/gcc-11-20200906/gcc/analyzer/region-model.cc:1283 0x11cf7d3 ana::region_model::get_rvalue(ana::path_var, ana::region_model_context*) /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-11.0.0_alpha20200906/work/gcc-11-20200906/gcc/analyzer/region-model.cc:1223 0x11cfbd7 ana::region_model::on_assignment(gassign const*, ana::region_model_context*) /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-11.0.0_alpha20200906/work/gcc-11-20200906/gcc/analyzer/region-model.cc:562 0x11b314a ana::exploded_node::on_stmt(ana::exploded_graph&, ana::supernode const*, gimple const*, ana::program_state*) const /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-11.0.0_alpha20200906/work/gcc-11-20200906/gcc/analyzer/engine.cc:1029 0x11b4385 ana::exploded_graph::process_node(ana::exploded_node*) /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-11.0.0_alpha20200906/work/gcc-11-20200906/gcc/analyzer/engine.cc:2526 0x11b4be2 ana::exploded_graph::process_worklist() /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-11.0.0_alpha20200906/work/gcc-11-20200906/gcc/analyzer/engine.cc:2341 0x11b6cc4 ana::impl_run_checkers(ana::logger*) /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-11.0.0_alpha20200906/work/gcc-11-20200906/gcc/analyzer/engine.cc:4107 0x11b7971 ana::run_checkers() /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-11.0.0_alpha20200906/work/gcc-11-20200906/gcc/analyzer/engine.cc:4175 0x11ac548 execute /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-11.0.0_alpha20200906/work/gcc-11-20200906/gcc/analyzer/analyzer-pass.cc:84 (While my target here is powerpc, the ICE should not be target-specific.)