We want to switch to C++11. It’s not just that it’s new and shiny, but it has a lot of features that will make for more readable code.
But… there’s runtime support involved in some of the C++11 features. So what to do about older operating systems that vendors aren’t supporting in their C++11 rollout? E.g. Apple is not supporting 10.6 with libc++.
FreeBSD has a new low-level library for the C++ standard called libcxxrt, which sits below libstdc++ (GNU) or libc++ (LLVM). It’s open-sourced, so maybe this would be one option, at least for Unix flavors like Mac OS X and Linux.
Interestingly, the claim is that if you link libstdc++ against libcxxrt instead of libsupc++ (the older low-level library), you can mix libraries that use libc++ with libraries that use libstdc++ in the same program. Now, of course, they have done this work for FreeBSD and not other operating systems, but maybe this can be repeated. It’s perhaps even likely, since Clang is gaining more and more momentum, and it’s moved ahead of GNU C++ in terms of C++11 support.
And Clang compiles my large programs much faster than gcc does.