[arch-dev-public] gcc 4.3 and archlinux
aaronmgriffin at gmail.com
Mon Mar 10 11:21:52 EDT 2008
On Sun, Mar 9, 2008 at 4:54 PM, Jan de Groot <jan at 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.
More information about the arch-dev-public