https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91092
--- Comment #17 from Vincent Lefèvre <vincent-gcc at vinc17 dot net> --- (In reply to Florian Weimer from comment #16) > (In reply to Vincent Lefèvre from comment #15) > > OK, but the issue is similar: in both cases, the parameters/arguments are > > not checked, yielding undefined behavior, so that they fall in the same > > class. > > I wouldn't say that. If the function has a return type of int and you use > the correct argument types, the behavior is well-defined. Just like with implicit function declarations. In both cases (implicit function declarations and K&R function definitions), there are correct ways to use them, but in general, this is just too dangerous. > > Actually I meant K&R function definition (with no previous prototype). > > If you call such functions (old-style function definitions without a > prototype in scope) via a prototype declaration, this will result in stack > corruption on some targets (notably little-endian POWER). The stack > corruption is often subtle and hard to spot. 32-bit x86 is affected too.