https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118283
Sam James <sjames at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Resolution|--- |INVALID Status|UNCONFIRMED |RESOLVED --- Comment #1 from Sam James <sjames at gcc dot gnu.org> --- Thanks for raising it as it's important to be testing the ecosystem early. In C23, `T x()` starts to mean `T x(void)`. The two issues you describe are both intentional changes in C23. dmalcolm recently landed some improvements to the diagnostics for bool (see PR117629) and the improvements for "too many arguments to function" are pending (see PR117865). There is no such flag for what you're asking (nor can/should there be), other than -std=gnu17 or -std=c17 to revert to the previous standard.