From 99500e8c08a4d941acb8a7eb00523296fb2acf7a Mon Sep 17 00:00:00 2001 From: Mariya Podchishchaeva Date: Thu, 7 Mar 2024 11:36:50 +0300 Subject: [Clang][C++23] Implement P2448R2: Relaxing some constexpr restrictions (#77753) Per https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2448r2.html function/constructor/destructor can be marked `constexpr` even though it never produces a constant expression. Non-literal types as return types and parameter types of functions marked `constexpr` are also allowed. Since this is not a DR, the diagnostic messages are still preserved for C++ standards older than C++23. --- clang/www/cxx_status.html | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) (limited to 'clang/www') diff --git a/clang/www/cxx_status.html b/clang/www/cxx_status.html index 421b342..5ed27cd 100755 --- a/clang/www/cxx_status.html +++ b/clang/www/cxx_status.html @@ -356,14 +356,7 @@ C++23, informally referred to as C++26.

Relaxing some constexpr restrictions P2448R2 - -
Clang 17 (Partial) - 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 parameters, allow calling of - non-constexpr functions and constructors. -
- + Clang 19 Using unknown pointers and references in constant expressions -- cgit v1.1