[llvm-branch-commits] [cfe-branch] r326297 - A few release notes updates for C++ support in Clang 6.0.

Richard Smith via llvm-branch-commits llvm-branch-commits at lists.llvm.org
Tue Feb 27 18:59:20 PST 2018

Author: rsmith
Date: Tue Feb 27 18:59:20 2018
New Revision: 326297

URL: http://llvm.org/viewvc/llvm-project?rev=326297&view=rev
A few release notes updates for C++ support in Clang 6.0.


Modified: cfe/branches/release_60/docs/ReleaseNotes.rst
URL: http://llvm.org/viewvc/llvm-project/cfe/branches/release_60/docs/ReleaseNotes.rst?rev=326297&r1=326296&r2=326297&view=diff
--- cfe/branches/release_60/docs/ReleaseNotes.rst (original)
+++ cfe/branches/release_60/docs/ReleaseNotes.rst Tue Feb 27 18:59:20 2018
@@ -174,6 +174,34 @@ C++ Language Changes in Clang
   conforming GNU extensions. Projects incompatible with C++14 can add
   ``-std=gnu++98`` to their build settings to restore the previous behaviour.
+- Added support for some features from the C++ standard after C++14
+  (provisionally known as C++2a but expected to be C++20). This support can be
+  enabled with the ``-std=c++2a`` flag. This enables:
+  - Support for ``__VA_OPT__``, to allow variadic macros to easily provide
+    different expansions when they are invoked without variadic arguments.
+  - Recognition of the ``<=>`` token (the C++2a three-way comparison operator).
+  - Support for default member initializers for bit-fields.
+  - Lambda capture of ``*this``.
+  - Pointer-to-member calls using ``const &``-qualified pointers on temporary objects.
+  All of these features other than ``__VA_OPT__`` and ``<=>`` are made
+  available with a warning in earlier C++ language modes.
+- A warning has been added for a ``<=`` token followed immediately by a ``>``
+  character. Code containing such constructs will change meaning in C++2a due
+  to the addition of the ``<=>`` operator.
+- Clang implements the "destroying operator delete" feature described in C++
+  committee paper `P0722R1
+  <http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0722r1.html>`,
+  which is targeting inclusion in C++2a but has not yet been voted into the C++
+  working draft. Support for this feature is enabled by the presence of the
+  standard library type ``std::destroying_delete_t``.
 OpenCL C Language Changes in Clang

More information about the llvm-branch-commits mailing list