C++11: Document some limitations imposed by MSVC
authorDuncan P. N. Exon Smith <dexonsmith@apple.com>
Thu, 17 Apr 2014 18:02:34 +0000 (18:02 +0000)
committerDuncan P. N. Exon Smith <dexonsmith@apple.com>
Thu, 17 Apr 2014 18:02:34 +0000 (18:02 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@206480 91177308-0d34-0410-b5e6-96231b3b80d8

docs/CodingStandards.rst

index 529464aa284d26f9231a93854988f6b7e25f2e29..a90e94b450ceaee697c012acbf84bb20d7bc4696 100644 (file)
@@ -108,6 +108,7 @@ unlikely to be supported by our host compilers.
 * Lambdas: N2927_
 
   * But *not* ``std::function``, until Clang implements `MSVC-compatible RTTI`_.
+  * And *not* lambdas with default arguments.
 
 * ``decltype``: N2343_
 * Nested closing right angle brackets: N1757_
@@ -116,6 +117,11 @@ unlikely to be supported by our host compilers.
 * Strongly-typed and forward declarable enums: N2347_, N2764_
 * Local and unnamed types as template arguments: N2657_
 * Range-based for-loop: N2930_
+
+  * But ``{}`` are required around inner ``do {} while()`` loops.  As a result,
+    ``{}`` are required around function-like macros inside range-based for
+    loops.
+
 * ``override`` and ``final``: N2928_, N3206_, N3272_
 * Atomic operations and the C++11 memory model: N2429_