https://gcc.gnu.org/bugzilla/show_bug.cgi?id=124195
--- Comment #2 from GCC Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by David Malcolm <[email protected]>: https://gcc.gnu.org/g:761e0d3d785794064477e7b68310dd5c6ae1003c commit r16-7671-g761e0d3d785794064477e7b68310dd5c6ae1003c Author: David Malcolm <[email protected]> Date: Tue Feb 24 17:16:58 2026 -0500 analyzer: fix ICE on division by zero [PR124195] gcc/analyzer/ChangeLog: PR analyzer/124195 * region-model-manager.cc (region_model_manager::maybe_fold_binop): Bulletproof against division by zero by returning "unknown". * region-model.cc (region_model::get_gassign_result): Bail out for division by zero. * svalue.cc (svalue::maybe_get_value_range): Rename to... (svalue::maybe_get_value_range_1): ...this. (constant_svalue::maybe_get_value_range): Rename to... (constant_svalue::maybe_get_value_range_1): ...this. (unknown_svalue::maybe_get_value_range): Rename to... (unknown_svalue::maybe_get_value_range_1): ...this. (unaryop_svalue::maybe_get_value_range): Rename to... (unaryop_svalue::maybe_get_value_range_1): ...this. (binop_svalue::maybe_get_value_range): Rename to... (binop_svalue::maybe_get_value_range_1): ...this. * svalue.h (svalue::maybe_get_value_range): Reimplement inline, asserting that if we get a result it is not undefined_p. Use maybe_get_value_range_1 for the vfunc. (svalue::maybe_get_value_range_1): Rename from above. (constant_svalue::maybe_get_value_range): Rename to... (constant_svalue::maybe_get_value_range_1): ...this. (unknown_svalue::maybe_get_value_range): Rename to... (unknown_svalue::maybe_get_value_range_1): ...this. (unaryop_svalue::maybe_get_value_range): Rename to... (unaryop_svalue::maybe_get_value_range_1): ...this. (binop_svalue::maybe_get_value_range): Rename to... (binop_svalue::maybe_get_value_range_1): ...this. gcc/testsuite/ChangeLog: PR analyzer/124195 * c-c++-common/analyzer/divide-by-zero-1.c: New test. * c-c++-common/analyzer/divide-by-zero-pr124195-2.c: New test. * gcc.dg/analyzer/divide-by-zero-pr124195-1.c: New test. Signed-off-by: David Malcolm <[email protected]>
