summaryrefslogtreecommitdiffstats
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
parentda9f2adffd6bf4efbc6ddec07244e9cff5dad5bf (diff)
downloadbcm5719-llvm-359e09d4f50f381dc85d64bc7ea4e06013d09779.tar.gz
bcm5719-llvm-359e09d4f50f381dc85d64bc7ea4e06013d09779.zip
[docs] Document lld's usage of C++11 features.
llvm-svn: 172972
-rw-r--r--lld/docs/C++11.rst35
-rw-r--r--lld/docs/development.rst6
2 files changed, 41 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.
diff --git a/lld/docs/development.rst b/lld/docs/development.rst
index 16d9b857bd8..4716ba1795d 100644
--- a/lld/docs/development.rst
+++ b/lld/docs/development.rst
@@ -5,6 +5,11 @@ Development
lld is developed as part of the `LLVM <http://llvm.org>`_ project.
+Using C++11 in lld
+------------------
+
+:doc:`C++11`.
+
Creating a Reader
-----------------
@@ -29,5 +34,6 @@ information on writing documentation for the project, see the
.. toctree::
:hidden:
+ C++11
Readers
Driver
OpenPOWER on IntegriCloud