https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110603
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Ever confirmed|0 |1 Last reconfirmed| |2023-07-10 --- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> --- Confirmed. (gdb) p lb $1 = {<wide_int_storage> = {val = {2, 45595810, 140737488342608, 140737488342672, 140737488341240, 2147483664, 8, 140737339338752, 0}, len = 1, precision = 32}, static is_sign_extended = true} (gdb) p ub $2 = {<wide_int_storage> = {val = {1, 1, 1, 1, 140737488341320, 2147483664, 140737471578113, 0, 140735340871686}, len = 1, precision = 32}, static is_sign_extended = true} from #4 0x0000000002b7c5d7 in (anonymous namespace)::try_substitute_return_value ( gsi=0x7fffffffda18, info=..., res=...) at /space/rguenther/src/gcc/gcc/gimple-ssa-sprintf.cc:4254 else if (lhs && types_compatible_p (TREE_TYPE (lhs), integer_type_node)) { bool setrange = false; if (safe && (info.bounded || retval[1] < info.objsize) && (retval[0] < target_int_max () && retval[1] < target_int_max ())) { /* If the result is in a valid range bounded by the size of the destination set it so that it can be used for subsequent optimizations. */ int prec = TYPE_PRECISION (integer_type_node); wide_int min = wi::shwi (retval[0], prec); wide_int max = wi::shwi (retval[1], prec); value_range r (TREE_TYPE (lhs), min, max); set_range_info (lhs, r); The issue is likely older but only triggered with recent ranger changes (on the verifier side?).