blob: 4935362cbef9912116ebedfcf8958059cb778758 [file] [log] [blame]
Michael J. Spencer359e09d2013-01-20 10:39:17 +00001C++11
2=====
3
4lld is developed in a limited subset of C++11. Supported compilers are:
5
6* Clang 3.1+
7* g++ 4.6+
8* MSVC 2012+
9
10Allowed Features
11----------------
12
13Allowed features are based on what these compilers support. Features that are ok
14to ommit (such as final or = delete) may be conditionally used via macros.
15
16* All of the C++11 standard library, including threading and atomics
17* auto
18* constexpr via LLVM_CONSTEXPR
19* decltype
20* deleted functions via LLVM_DELETED_FUNCTION
21* Forward enum declarations
22* Lambdas
23* Local and unnamed types as template args
24* Trailing return type
25* nullptr
26* >> instead of > >
27* R-Value references excluding R-Value references for this
28* static_assert
29* Strongly typed enums
30* Range based for loop
31* final via LLVM_FINAL
32
33Note that some of these features may not be fullly or correctly implemented in
34all compilers. Issues using these features should be added here as they are
35encountered.