https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83403
luoxhu at gcc dot gnu.org changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |luoxhu at gcc dot gnu.org --- Comment #7 from luoxhu at gcc dot gnu.org --- int could pass but unsigned will fail to capture the refs independent, drafted a patch to use the range info when checking the CONVERT expression on PLUS/MINUS/MULT for wrapping overflow(unsigned). https://gcc.gnu.org/pipermail/gcc-patches/2020-April/544684.html (gdb) p debug_aff(&off1) { type = sizetype offset = 8 elements = { [0] = (long unsigned int) n_93 * 80, [1] = &C * 1 } } $571 = void (gdb) p debug_aff(&off2) { type = sizetype offset = 0 elements = { [0] = (long unsigned int) n_93 * 80, [1] = &C * 1 } } Is this a reasonable solution, please?