https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113011
--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> --- >From C99 draft: 5.1.2.2.1 Program startup The function called at program startup is named main.The implementation declares no prototype for this function. It shall be defined with a return type ofintand with no parameters ... or with two parameters (referred to here asargcandargv, though anynames may be used, as theyare local to the function in which theyare declared):