https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91092
--- Comment #19 from Rich Felker <bugdal at aerifal dot cx> --- Re comment 17, non-prototype declarations might be error-prone, but they're valid C and necessary for certain usage cases. The motivation for making this error-by-default is that "implicit function declarations" are not valid C (for 2 decades now) and have no valid usage cases (nothing they admit that could not be done without them). You can use -Wstrict-prototypes (or -Werror=strict-prototypes) if you want to be warned (or error out) for use of non-prototype declarations. You can use -Wold-style-definition (or -Werror= old-style-definition) if you want to be warned (or error out) for K&R style function definitions. Both of these are only tangentially related to this bt entry.