summaryrefslogtreecommitdiffstats
path: root/lld/docs/C++11.rst
diff options
context:
space:
mode:
authorMichael J. Spencer <bigcheesegs@gmail.com>2013-01-20 10:39:17 +0000
committerMichael J. Spencer <bigcheesegs@gmail.com>2013-01-20 10:39:17 +0000
commit359e09d4f50f381dc85d64bc7ea4e06013d09779 (patch)
treea5c21a9aca32e8ebeaa417b0d572cb5d23f2a0fb /lld/docs/C++11.rst
parentda9f2adffd6bf4efbc6ddec07244e9cff5dad5bf (diff)
downloadbcm5719-llvm-359e09d4f50f381dc85d64bc7ea4e06013d09779.tar.gz
bcm5719-llvm-359e09d4f50f381dc85d64bc7ea4e06013d09779.zip
[docs] Document lld's usage of C++11 features.
llvm-svn: 172972
Diffstat (limited to 'lld/docs/C++11.rst')
-rw-r--r--lld/docs/C++11.rst35
1 files changed, 35 insertions, 0 deletions
diff --git a/lld/docs/C++11.rst b/lld/docs/C++11.rst
new file mode 100644
index 00000000000..4935362cbef
--- /dev/null
+++ b/lld/docs/C++11.rst
@@ -0,0 +1,35 @@
+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 ommit (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 fullly or correctly implemented in
+all compilers. Issues using these features should be added here as they are
+encountered.
OpenPOWER on IntegriCloud