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.