Author: ericwf Date: Sat Sep 5 01:50:03 2015 New Revision: 246913 URL: http://llvm.org/viewvc/llvm-project?rev=246913&view=rev Log: Cleanup new documentation index and transfer more information from www/index.html
Modified: libcxx/trunk/docs/index.rst Modified: libcxx/trunk/docs/index.rst URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/docs/index.rst?rev=246913&r1=246912&r2=246913&view=diff ============================================================================== --- libcxx/trunk/docs/index.rst (original) +++ libcxx/trunk/docs/index.rst Sat Sep 5 01:50:03 2015 @@ -46,35 +46,34 @@ library instead of contributing to an ex 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. +* 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. Platform and Compiler Support ----------------------------- @@ -137,15 +136,22 @@ Design Documents .. _clow notes: https://cplusplusmusings.wordpress.com/2012/07/05/clang-and-standard-libraries-on-mac-os-x/ +Build Bots +----------- + +* `LLVM Buildbot Builders <http://lab.llvm.org:8011/console>`_ +* `Apple Jenkins Builders <http://lab.llvm.org:8080/green/view/Libcxx/>`_ + Getting Involved ================ -First please review our `Developer's Policy <http://llvm.org/docs/DeveloperPolicy.html>`__. +First please review our `Developer's Policy <http://llvm.org/docs/DeveloperPolicy.html>`__ +and `Getting started with LLVM <http://llvm.org/docs/GettingStarted.html>`__. **Bug Reports** If you think you've found a bug in libc++, please report it using -the _`LLVM Bugzilla`. If you're not sure, you +the `LLVM Bugzilla`_. If you're not sure, you can post a message to the `cfe-dev`_. mailing list or on IRC. Please include "libc++" in your subject. @@ -153,20 +159,30 @@ Please include "libc++" in your subject. If you want to contribute a patch to libc++, the best place for that is `Phabricator <phab doc_>`__. Please include [libcxx] in the subject and -add `cfe-commits` as a subscriber. +add `cfe-commits` as a subscriber. Also make sure you are subscribed to the +`cfe-commits mailing list <cfe-commits_>`__. **Discussion and Questions** -Send discussions and questions to the `clang mailing list <cfe-dev_>`__. +Send discussions and questions to the `cfe-dev mailing list <cfe-dev_>`__. Please include [libcxx] in the subject. .. _phab doc: http://llvm.org/docs/Phabricator.html -.. _cfe-dev: http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev -Links -===== -* `Getting started with LLVM <http://llvm.org/docs/GettingStarted.html>`_ +Quick Links +=========== +* `LLVM Homepage <llvm_>`__ * `libc++abi Homepage <libc++abi_>`__ +* `LLVM Bugzilla`_ +* `cfe-commits Mailing List <cfe-commits_>`__ +* `cfe-dev Mailing List <cfe-dev_>`__ +* `Browse libc++ -- SVN <http://llvm.org/svn/llvm-project/libcxx/trunk/>`_ +* `Browse libc++ -- ViewVC <http://llvm.org/viewvc/llvm-project/libcxx/trunk/>`_ + +.. _`llvm`: http://llvm.org/ .. _`libc++abi`: http://libcxxabi.llvm.org/ +.. _`LLVM Bugzilla`: http://llvm.org/bugs/ +.. _cfe-dev: http://lists.llvm.org/mailman/listinfo/cfe-dev +.. _cfe-commits: http://lists.llvm.org/mailman/listinfo/cfe-commits _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits