https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120704
Jakub Jelinek <jakub at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jakub at gcc dot gnu.org --- Comment #8 from Jakub Jelinek <jakub at gcc dot gnu.org> --- On #c5: $ /opt/notnfs/gcc-bisect/obj/gcc/cc1.r12-3312 -quiet -O2 -fsanitize=undefined -g pr120704.c; gcc -o pr120704{,.s} -fsanitize=undefined; ./pr120704 $ /opt/notnfs/gcc-bisect/obj/gcc/cc1.r12-3313 -quiet -O2 -fsanitize=undefined -g pr120704.c; gcc -o pr120704{,.s} -fsanitize=undefined; ./pr120704 pr120704.c:6:11: runtime error: signed integer overflow: -2147203927 * -14 cannot be represented in type 'int' pr120704.c:6:23: runtime error: signed integer overflow: -2840684 - 2147483647 cannot be represented in type 'int' So it is r12-3313-g483e400870601f650c80f867ec781cd5f83507d6 that introduced UB that wasn't there before (at least not reported) and isn't reported at -O0 even on trunk. And then $ /opt/notnfs/gcc-bisect/obj/gcc/cc1.r12-5298 -quiet -O2 -fsanitize=undefined -g pr120704.c; gcc -o pr120704{,.s} -fsanitize=undefined; ./pr120704 pr120704.c:6:11: runtime error: signed integer overflow: -2147203927 * -14 cannot be represented in type 'int' pr120704.c:6:23: runtime error: signed integer overflow: -2840684 - 2147483647 cannot be represented in type 'int' $ /opt/notnfs/gcc-bisect/obj/gcc/cc1.r12-5300 -quiet -O2 -fsanitize=undefined -g pr120704.c; gcc -o pr120704{,.s} -fsanitize=undefined; ./pr120704 pr120704.c:6:11: runtime error: signed integer overflow: -2147203927 * -14 cannot be represented in type 'int' pr120704.c:7:12: runtime error: signed integer overflow: -2136352310 * -999 cannot be represented in type 'int' pr120704.c:6:23: runtime error: signed integer overflow: -2840684 - 2147483647 cannot be represented in type 'int' r12-5300-gf98f373dd822b35c52356b753d528924e9f89678 introduced another one.