On Wed, Mar 28, 2007 at 01:39:25PM +0100, Martin Michlmayr wrote: > I noticed that you cleaned up C++ header dependencies in response to > PR28080. This means that *a lot* of C++ code will no longer build.
Rather, programs that have never been built with any compiler other than g++, but that assume that doing #include <iostream> (for example) means that a whole lot of other headers are automatically included ( <stdlib.h>, <assert.h>, <string.h>, etc) will now fail. Ideally, I would prefer it if either by default, or with some specified flag, we could reject any program that invokes a standard function but does not explicitly #include the header that officially defines that standard function. That way, it would be possible to detect a non-portable program without needing to try it out with proprietary compilers. To fully implement this for both C and C++ would require cooperation with the C library maintainers. > Can you please mention your clean-up work at > http://gcc.gnu.org/gcc-4.3/changes.html so users are aware of what's > going on. Yes, it's worth mentioning, since users will run into it.