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.
