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