https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104089
Bug ID: 104089 Summary: ICE in constant_svalue, at analyzer/svalue.h:271 Product: gcc Version: 12.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 12.0.0 20220116 snapshot (g:90045c5df5b3c8853e7740fb72a11aead1c489bb) ICEs when compiling the following testcase, reduced from gcc/testsuite/gcc.dg/torture/float16-tg-3.c, w/ -fanalyzer -frounding-math: volatile _Float16 true_min = 5.96046447753906250000000000000000000e-8F16; int main (void) { return __builtin_fpclassify (0, 1, 4, 3, 2, true_min); } % gcc-12.0.0 -fanalyzer -frounding-math -c caqiocbw.c during IPA pass: analyzer caqiocbw.c: In function 'main': caqiocbw.c:6:10: internal compiler error: in constant_svalue, at analyzer/svalue.h:271 6 | return __builtin_fpclassify (0, 1, 4, 3, 2, true_min); | ^~~~~~~~~~~~~~~~~~~~ 0x7b22a8 ana::constant_svalue::constant_svalue(tree_node*) /var/tmp/portage/sys-devel/gcc-12.0.0_p20220116/work/gcc-12-20220116/gcc/analyzer/svalue.h:271 0x7b22a8 ana::region_model_manager::get_or_create_constant_svalue(tree_node*) /var/tmp/portage/sys-devel/gcc-12.0.0_p20220116/work/gcc-12-20220116/gcc/analyzer/region-model-manager.cc:216 0x12a37da ana::region_model_manager::get_or_create_unaryop(tree_node*, tree_code, ana::svalue const*) /var/tmp/portage/sys-devel/gcc-12.0.0_p20220116/work/gcc-12-20220116/gcc/analyzer/region-model-manager.cc:441 0x128ba67 ana::region_model::on_assignment(gassign const*, ana::region_model_context*) /var/tmp/portage/sys-devel/gcc-12.0.0_p20220116/work/gcc-12-20220116/gcc/analyzer/region-model.cc:870 0x1265bc8 ana::exploded_node::on_stmt(ana::exploded_graph&, ana::supernode const*, gimple const*, ana::program_state*, ana::uncertainty_t*, ana::path_context*) /var/tmp/portage/sys-devel/gcc-12.0.0_p20220116/work/gcc-12-20220116/gcc/analyzer/engine.cc:1305 0x1268ff6 ana::exploded_graph::process_node(ana::exploded_node*) /var/tmp/portage/sys-devel/gcc-12.0.0_p20220116/work/gcc-12-20220116/gcc/analyzer/engine.cc:3694 0x1269fea ana::exploded_graph::process_worklist() /var/tmp/portage/sys-devel/gcc-12.0.0_p20220116/work/gcc-12-20220116/gcc/analyzer/engine.cc:3137 0x126c670 ana::impl_run_checkers(ana::logger*) /var/tmp/portage/sys-devel/gcc-12.0.0_p20220116/work/gcc-12-20220116/gcc/analyzer/engine.cc:5716 0x126d56e ana::run_checkers() /var/tmp/portage/sys-devel/gcc-12.0.0_p20220116/work/gcc-12-20220116/gcc/analyzer/engine.cc:5787 0x125c2a8 execute /var/tmp/portage/sys-devel/gcc-12.0.0_p20220116/work/gcc-12-20220116/gcc/analyzer/analyzer-pass.cc:87