diff options
author | Shafik Yaghmour <shafik.yaghmour@intel.com> | 2023-05-04 11:05:25 -0700 |
---|---|---|
committer | Shafik Yaghmour <shafik.yaghmour@intel.com> | 2023-05-04 11:07:16 -0700 |
commit | b4692f29263006c7ea519c7b11c9082384f0af53 (patch) | |
tree | 42488d7686210fc910eefee478b41cdf83eecb8f /clang/docs | |
parent | eee32d66febfbfa6fea44adc8a4416c5896b8c97 (diff) | |
download | llvm-b4692f29263006c7ea519c7b11c9082384f0af53.tar.gz |
[Clang] Updating handling of defaulted comparison operators to reflect changes from P2448R2
Prior to P2448R2 we were more aggressive in diagnosing ill-formed
constexpr functions. Many of these restrictions were relaxed and now it
is not required for defaulted comparison operators to call constexpr
functions.
This behavior is extended to before C++23 and diagnostic for it's use
can be enabled w/ -pedantic or -Wc++2b-default-comp-relaxed-constexpr
This fixes: https://github.com/llvm/llvm-project/issues/61238
Differential Revision: https://reviews.llvm.org/D146090
Diffstat (limited to 'clang/docs')
-rw-r--r-- | clang/docs/ReleaseNotes.rst | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/clang/docs/ReleaseNotes.rst b/clang/docs/ReleaseNotes.rst index 8fda486228db..e0ad5f5e3ae5 100644 --- a/clang/docs/ReleaseNotes.rst +++ b/clang/docs/ReleaseNotes.rst @@ -100,6 +100,12 @@ C++23 Feature Support and `P2579R0 Mitigation strategies for P2036 <https://wg21.link/P2579R0>`_. These proposals modify how variables captured in lambdas can appear in trailing return type expressions and how their types are deduced therein, in all C++ language versions. +- Implemented partial support for `P2448R2: Relaxing some constexpr restrictions <https://wg21.link/p2448r2>`_ + Explicitly defaulted functions no longer have to be constexpr-compatible but merely constexpr suitable. + We do not support outside of defaulted special memeber functions the change that constexpr functions no + longer have to be constexpr compatible but rather support a less restricted requirements for constexpr + functions. Which include allowing non-literal types as return values and paremeters, allow calling of + non-constexpr functions and constructors. Resolutions to C++ Defect Reports ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |