llvm-project/lld/docs/C++11.rst

36 lines
925 B
ReStructuredText
Raw Normal View History

C++11
=====
lld is developed in a limited subset of C++11. Supported compilers are:
* Clang 3.1+
* g++ 4.7+
* 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.