https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96764
Bug ID: 96764 Summary: [11 Regression] ICE in fold_convert_const_int_from_real, at fold-const.c:2038 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: --- gcc-11.0.0-alpha20200823 snapshot (g:87c753ac241f25d222d46ba1ac66ceba89d6a200) ICEs when compiling the following testcase, reduced from gcc/testsuite/gcc.c-torture/execute/pr36343.c, w/ -fanalyzer: void ar (int *hd) { int **zv = &hd; *(double *) zv = 0.0; } % gcc-11.0.0 -fanalyzer -c akrcmvle.c during IPA pass: analyzer akrcmvle.c: In function 'ar': akrcmvle.c:5:18: internal compiler error: in fold_convert_const_int_from_real, at fold-const.c:2038 5 | *(double *) zv = 0.0; | ~~~~~~~~~~~~~~~^~~~~ 0x62f411 fold_convert_const_int_from_real /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200823/work/gcc-11-20200823/gcc/fold-const.c:2038 0x62f411 fold_convert_const /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200823/work/gcc-11-20200823/gcc/fold-const.c:2284 0xa711ad fold_unary_loc(unsigned int, tree_code, tree_node*, tree_node*) /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200823/work/gcc-11-20200823/gcc/fold-const.c:8732 0x1125ecc ana::region_model_manager::maybe_fold_unaryop(tree_node*, tree_code, ana::svalue const*) /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200823/work/gcc-11-20200823/gcc/analyzer/region-model-manager.cc:369 0x1125fd8 ana::region_model_manager::get_or_create_unaryop(tree_node*, tree_code, ana::svalue const*) /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200823/work/gcc-11-20200823/gcc/analyzer/region-model-manager.cc:382 0x1125fd8 ana::region_model_manager::get_or_create_cast(tree_node*, ana::svalue const*) /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200823/work/gcc-11-20200823/gcc/analyzer/region-model-manager.cc:404 0x114c203 ana::initial_svalue::implicitly_live_p(hash_set<ana::svalue const*, false, default_hash_traits<ana::svalue const*> > const&, ana::region_model const*) const /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200823/work/gcc-11-20200823/gcc/analyzer/svalue.cc:529 0x114c203 ana::initial_svalue::implicitly_live_p(hash_set<ana::svalue const*, false, default_hash_traits<ana::svalue const*> > const&, ana::region_model const*) const /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200823/work/gcc-11-20200823/gcc/analyzer/svalue.cc:518 0x1105d59 ana::program_state::detect_leaks(ana::program_state const&, ana::program_state const&, ana::svalue const*, ana::extrinsic_state const&, ana::region_model_context*) /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200823/work/gcc-11-20200823/gcc/analyzer/program-state.cc:1028 0x10f607a ana::exploded_graph::process_node(ana::exploded_node*) /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200823/work/gcc-11-20200823/gcc/analyzer/engine.cc:2538 0x10f6aca ana::exploded_graph::process_worklist() /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200823/work/gcc-11-20200823/gcc/analyzer/engine.cc:2341 0x10f8bff ana::impl_run_checkers(ana::logger*) /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200823/work/gcc-11-20200823/gcc/analyzer/engine.cc:4107 0x10f981c ana::run_checkers() /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200823/work/gcc-11-20200823/gcc/analyzer/engine.cc:4175 0x10ee1d8 execute /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200823/work/gcc-11-20200823/gcc/analyzer/analyzer-pass.cc:84