https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83585
--- Comment #3 from joseph at codesourcery dot com <joseph at codesourcery dot com> --- return without a value in non-void functions is valid in C90 (only undefined at runtime if the return value is used by the caller). C99 made it a constraint violation.