[gcc r15-3049] libstdc++: Adjust testcase for constexpr placement new [PR115744]
Jonathan Wakely
redi@gcc.gnu.org
Tue Aug 20 20:52:46 GMT 2024
https://gcc.gnu.org/g:20c63093db0f230ef49a298cdb0611f38e470203
commit r15-3049-g20c63093db0f230ef49a298cdb0611f38e470203
Author: Jonathan Wakely <jwakely@redhat.com>
Date: Tue Aug 20 21:47:29 2024 +0100
libstdc++: Adjust testcase for constexpr placement new [PR115744]
This test now fails in C++26 mode because the declaration in <new> is
constexpr and the one in the test isn't. Add constexpr to the test.
libstdc++-v3/ChangeLog:
PR libstdc++/115744
* testsuite/18_support/headers/new/synopsis.cc [C++26]: Add
constexpr to placement operator new and operator new[].
Diff:
---
libstdc++-v3/testsuite/18_support/headers/new/synopsis.cc | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/libstdc++-v3/testsuite/18_support/headers/new/synopsis.cc b/libstdc++-v3/testsuite/18_support/headers/new/synopsis.cc
index 5c83956b5845..479f0df12b5d 100644
--- a/libstdc++-v3/testsuite/18_support/headers/new/synopsis.cc
+++ b/libstdc++-v3/testsuite/18_support/headers/new/synopsis.cc
@@ -46,8 +46,13 @@ void* operator new[](std::size_t size, const std::nothrow_t&) throw();
void operator delete[](void* ptr) throw();
void operator delete[](void* ptr, const std::nothrow_t&) throw();
-void* operator new (std::size_t size, void* ptr) throw();
-void* operator new[](std::size_t size, void* ptr) throw();
+#if __cplusplus > 202302L
+# define CXX26_CONSTEXPR constexpr
+#else
+# define CXX26_CONSTEXPR
+#endif
+CXX26_CONSTEXPR void* operator new (std::size_t size, void* ptr) throw();
+CXX26_CONSTEXPR void* operator new[](std::size_t size, void* ptr) throw();
void operator delete (void* ptr, void*) throw();
void operator delete[](void* ptr, void*) throw();
More information about the Libstdc++-cvs
mailing list