FreeBSD developers are working on enabling support for the C11 and C++11 programming language standards within their operating system.
Shared during the BSD track at FOSDEM 2013
by David Chisnall was an update on the FreeBSD's support for C11 and C++11, the latest revisions to the C and C++ programming languages. While most of the work resides within the compilers supporting these latest standards, FreeBSD is looking to take proper use of the new features and functionality.
During the quick overview for those not up to speed on the latest ISO standards of these languages, C11 introduces features like alignment specifies, multi-threading support as part of the standard, a memory model, various cosmetic improvements to the code, static assertions, and unicode support. C++11 introduces better locale support, atomics/threads/thread-local storage, smart pointers, tuples, and various language changes.
FreeBSD system header files have already been updated to reflect the C++11 changes and their preferred LLVM/Clang compiler already has begun its C11/C++11 support
. FreeBSD is just shipping GCC 4.2.1 (the last GPLv2 FSF GCC compiler release) and are deprecating the compiler so they aren't really concerned about the GCC support for C++11/C11. LLVM/Clang has most pieces in place while the rest should be dropped in soon. There's also some support via libc++, LLVM's own more permissively licensed C++ standard library.
In terms of the current status in broad terms for C++11 on FreeBSD, "most of C++11 works." For the latest C revision on FreeBSD, "most of the interesting bits of C11 work." However, there is still lots of missing pieces for C11/C++11 on FreeBSD that still need to be implemented. For more specific details about the current state in FreeBSD, see the FOSDEM PDF slides