https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80515
--- Comment #6 from Paul Eggert <eggert at gnu dot org> --- > main always return according to the standard No, the C standard does not require 'main' to return. It's perfectly acceptable for 'main' to never return, and many programs are written that way. > what you are asking for is a non standard extension Any program that uses '__attribute__ ((__noreturn__))' is *already* using a nonstandard extension. It would be more useful if this nonstandard extension worked for 'main' like it does for other functions, because many 'main' functions in fact do not return.