https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104635
--- Comment #4 from Szüllő Ádám <szullo.adam at gmail dot com> --- i understand that missing return value is undefined behaviour. my point is, that this should be limited to the act of return (return with garbage, segfault, stuck in an infinite loop _after_ the for loop) what i can't understand is, that even if GCC sees that the loop exit cannot be possibly reached, how that will lead to the for loop disobeying the test expression.