On Sun, Mar 9, 2008 at 4:54 PM, Jan de Groot <jan@jgc.homeip.net> wrote:
On Sun, 2008-03-09 at 22:52 +0200, Roman Kyrylych wrote:
Huh? We need to patch a lot of C++ source code that relies on C includes?
Functions like malloc, strlen, strcpy, etc need C includes. The offended packages don't include these files, which is known to fail on GCC 4.3. Older compilers include the required headers via other included headers somehow, so these programs don't look broken on older compilers. The example I showed is the common way to fix these packages when we run into them.
To be clear, the C++ standard specifies what functions MUST be part of a given include, but allow any other functions/symbols to also be included. This is actually the main reason why "using namespace std" is discouraged for beginners - because any header could import an ungodly amount of symbols into the global namespace by doing that. So yeah, it sounds like they cleaned things up and now improper C++ code breaks. It's a good thing, if you ask me.