diff --git a/libcxx/docs/index.rst b/libcxx/docs/index.rst --- a/libcxx/docs/index.rst +++ b/libcxx/docs/index.rst @@ -55,44 +55,6 @@ AddingNewCIJobs FeatureTestMacroTable - -Current Status -============== - -After its initial introduction, many people have asked "why start a new -library instead of contributing to an existing library?" (like Apache's -libstdcxx, GNU's libstdc++, STLport, etc). There are many contributing -reasons, but some of the major ones are: - -* From years of experience (including having implemented the standard - library before), we've learned many things about implementing - the standard containers which require ABI breakage and fundamental changes - to how they are implemented. For example, it is generally accepted that - building std::string using the "short string optimization" instead of - using Copy On Write (COW) is a superior approach for multicore - machines (particularly in C++11, which has rvalue references). Breaking - ABI compatibility with old versions of the library was - determined to be critical to achieving the performance goals of - libc++. - -* Mainline libstdc++ has switched to GPL3, a license which the developers - of libc++ cannot use. libstdc++ 4.2 (the last GPL2 version) could be - independently extended to support C++11, but this would be a fork of the - codebase (which is often seen as worse for a project than starting a new - independent one). Another problem with libstdc++ is that it is tightly - integrated with G++ development, tending to be tied fairly closely to the - matching version of G++. - -* STLport and the Apache libstdcxx library are two other popular - candidates, but both lack C++11 support. Our experience (and the - experience of libstdc++ developers) is that adding support for C++11 (in - particular rvalue references and move-only types) requires changes to - almost every class and function, essentially amounting to a rewrite. - Faced with a rewrite, we decided to start from scratch and evaluate every - design decision from first principles based on experience. - Further, both projects are apparently abandoned: STLport 5.2.1 was - released in Oct'08, and STDCXX 4.2.1 in May'08. - .. _SupportedPlatforms: Platform and Compiler Support