https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84933
Jeffrey A. Law <law at redhat dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |law at redhat dot com --- Comment #1 from Jeffrey A. Law <law at redhat dot com> --- Looks like a bug in vrp_intersect_ranges_1 or its children to me. We call vrp_intersect_range_1 with: (gdb) p debug_value_range (vr0) ~[0, 2147483647] EQUIVALENCES: { c.0_1 } (1 elements) $16 = void (gdb) p debug_value_range (vr1) ~[1, 2147483647] EQUIVALENCES: { c.0_1 } (1 elements) $17 = void Which then proceeds to call set_and_canonicalize_value_range with min/max as: (gdb) p debug_tree (min) <integer_cst 0x7ffff01c7af8 type <enumeral_type 0x7ffff01b39d8 a> constant 2147483648> $18 = void (gdb) p debug_tree (max) <integer_cst 0x7ffff01c71b0 type <enumeral_type 0x7ffff01b39d8 a> constant 1> $19 = void Which looks bogus to me. I'll have to look deeper tues/wed if nobody gets to it before then..