https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104069
--- Comment #8 from Jakub Jelinek <jakub at gcc dot gnu.org> --- ret_7 == 0 certainly doesn't imply ret_17 == 0, so it is correct ranger doesn't know. ret_7 == 0 implies that either ret_17 == 0 if bb 2 jumped to bb 4, in that case ret_19 isn't even defined, or ret_19 is 0 if bb 3 fell through to bb 4, in that case ret_7 is defined, but could be 0 or could be any other value. So it isn't a bug on the ranger side, but on the warning side.