diff options
| author | Jakub Jelinek <jakub@redhat.com> | 2025-11-19 09:38:17 +0100 |
|---|---|---|
| committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2025-11-19 09:38:17 +0100 |
| commit | 5294e0a0b40674365d8f9190fc1d9c456ea8c150 (patch) | |
| tree | 3771cd0a53793db066f38c74dddbb37e3deaa297 /libjava/java/sql | |
| parent | 735eb662ba370ff8740ec3819ec363bda3d83d77 (diff) | |
libstdc++: Implement proposed resolution of LWG4477 [PR122671]
This patch implements the proposed resolution of
https://cplusplus.github.io/LWG/issue4477
The PR complains that one can't successfully throw from constructor
in placement new in a constant expression and catch that exception
later on. The problem is while P2747R2 made placement ::operator new
and ::operator new[] constexpr, when the ctor throws it invokes also
these weird placement ::operator delete and ::operator delete[]
which intentionally perform no action, and those weren't constexpr,
so constant expression evaluation failed.
2025-11-19 Jakub Jelinek <jakub@redhat.com>
PR libstdc++/122671
* libsupc++/new (::operator delete, ::operator delete[]): Implement
proposed LWG4477 resolution. Use _GLIBCXX_PLACEMENT_CONSTEXPR for
placement operator deletes.
* g++.dg/cpp26/constexpr-eh17.C: New test.
Diffstat (limited to 'libjava/java/sql')
0 files changed, 0 insertions, 0 deletions
