[llvm-commits] [lld] r172972 - in /lld/trunk/docs: C++11.rst development.rst

Michael J. Spencer bigcheesegs at gmail.com
Sun Jan 20 02:39:18 PST 2013


Author: mspencer
Date: Sun Jan 20 04:39:17 2013
New Revision: 172972

URL: http://llvm.org/viewvc/llvm-project?rev=172972&view=rev
Log:
[docs] Document lld's usage of C++11 features.

Added:
    lld/trunk/docs/C++11.rst
Modified:
    lld/trunk/docs/development.rst

Added: lld/trunk/docs/C++11.rst
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/docs/C%2B%2B11.rst?rev=172972&view=auto
==============================================================================
--- lld/trunk/docs/C++11.rst (added)
+++ lld/trunk/docs/C++11.rst Sun Jan 20 04:39:17 2013
@@ -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.

Modified: lld/trunk/docs/development.rst
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/docs/development.rst?rev=172972&r1=172971&r2=172972&view=diff
==============================================================================
--- lld/trunk/docs/development.rst (original)
+++ lld/trunk/docs/development.rst Sun Jan 20 04:39:17 2013
@@ -5,6 +5,11 @@
 
 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 @@
 .. toctree::
    :hidden:
 
+   C++11
    Readers
    Driver





More information about the llvm-commits mailing list