http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47749
--- Comment #8 from Jonathan Wakely <redi at gcc dot gnu.org> 2011-09-28 15:41:27 UTC --- Yep, [stmt.return]/2 "Flowing off the end of a function is equivalent to a return with no value; this results in undefined behavior in a value-returning function."