summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Smith <richard-llvm@metafoo.co.uk>2018-02-28 02:59:20 +0000
committerRichard Smith <richard-llvm@metafoo.co.uk>2018-02-28 02:59:20 +0000
commit0841a9dda069a898e9a243bcd9ab66eb112a5e52 (patch)
treebb9849629443498d52f3d554ec235c7cac582aa7
parente3acef8111564daba2a99ca3175c721760584a67 (diff)
A few release notes updates for C++ support in Clang 6.0.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_60@326297 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--docs/ReleaseNotes.rst28
1 files changed, 28 insertions, 0 deletions
diff --git a/docs/ReleaseNotes.rst b/docs/ReleaseNotes.rst
index 5c242d4294..5da2bb49f1 100644
--- a/docs/ReleaseNotes.rst
+++ b/docs/ReleaseNotes.rst
@@ -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
----------------------------------