https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111400
--- Comment #5 from Andrew Pinski <pinskia at gcc dot gnu.org> --- To be able to detect this, an ABI change would be needed as you need to pass back if the function fell through or not. Now for (non-address taken) static functions that should be ok. The check should happen on the caller side rather than the callee side as it is only undefined if the caller uses the value ...