blob: e47a030ebd7ccf007a404b49502b7b5426049e39 [file] [log] [blame]
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 omit (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 fully or correctly implemented in
all compilers. Issues using these features should be added here as they are
encountered.