Compiling extern "C" { void exit (int); }; #include <stdlib.h> with g++ yields: In file included from foo.cpp:6: /usr/include/stdlib.h:578: declaration of `void exit (int) throw ()' throws different exceptions foo.cpp:2: than previous declaration `void exit (int)' This breaks autoconf scripts which includes stdlib.h in a AC_TRY_RUN when the language is set to c++. Seems to be the same as described at http://gcc.gnu.org/ml/gcc-bugs/1999-07n/msg00534.html
...tells a lot about what kind of testing RedHat does before launching a new product. This is VERY frustrating.
This is not a bug. void exit(int) is a redefinition because the exit() prototype in stdlib.h throws exceptions.
As bero mentioned, this really is not a bug and it is good current g++ is more strict about user bugs than it used to. Write correct C++ code and you should get of this warning. If current GNU autoconf still generates this code it should be fixed, will check it out.