https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89350
--- Comment #4 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Note, e.g. C99 guarantees that: "If they are declared, the parameters to the main function shall obey the following constraints: — The value of argc shall be nonnegative." Similarly C++, http://eel.is/c++draft/basic.start.main "The value of argc shall be non-negative." So, we could do this, or perhaps add lang_GNU_C () || lang_GNU_CXX () || lang_GNU_OBJC () check too, evrp is pre-IPA pass and thus it can check the defining language easily.