[docs] Document lld's usage of C++11 features.

llvm-svn: 172972
This commit is contained in:
Michael J. Spencer 2013-01-20 10:39:17 +00:00
parent da9f2adffd
commit 359e09d4f5
2 changed files with 41 additions and 0 deletions

35
lld/docs/C++11.rst Normal file
View File

@ -0,0 +1,35 @@
C++11
=====
lld is developed in a limited subset of C++11. Supported compilers are:
* Clang 3.1+
* g++ 4.6+
* MSVC 2012+
Allowed Features
----------------
Allowed features are based on what these compilers support. Features that are ok
to ommit (such as final or = delete) may be conditionally used via macros.
* All of the C++11 standard library, including threading and atomics
* auto
* constexpr via LLVM_CONSTEXPR
* decltype
* deleted functions via LLVM_DELETED_FUNCTION
* Forward enum declarations
* Lambdas
* Local and unnamed types as template args
* Trailing return type
* nullptr
* >> instead of > >
* R-Value references excluding R-Value references for this
* static_assert
* Strongly typed enums
* Range based for loop
* final via LLVM_FINAL
Note that some of these features may not be fullly or correctly implemented in
all compilers. Issues using these features should be added here as they are
encountered.

View File

@ -5,6 +5,11 @@ Development
lld is developed as part of the `LLVM <http://llvm.org>`_ project.
Using C++11 in lld
------------------
:doc:`C++11`.
Creating a Reader
-----------------
@ -29,5 +34,6 @@ information on writing documentation for the project, see the
.. toctree::
:hidden:
C++11
Readers
Driver