https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87268
--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> --- So you might have undefined code in c if the return value is used there. In c++ it is undefined even without using it. Also noreturn is never sibcalled.