[all-commits] [llvm/llvm-project] 7cb66a: [libc++] Implement LWG4477: placement operator del...
Fernando Pelliccioni via All-commits
all-commits at lists.llvm.org
Wed Apr 8 06:48:55 PDT 2026
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 7cb66a448ace7ae2acd84e7e9bec73cfc560efe0
https://github.com/llvm/llvm-project/commit/7cb66a448ace7ae2acd84e7e9bec73cfc560efe0
Author: Fernando Pelliccioni <fpelliccioni at gmail.com>
Date: 2026-04-08 (Wed, 08 Apr 2026)
Changed paths:
M libcxx/docs/Status/Cxx2cIssues.csv
M libcxx/include/__new/placement_new_delete.h
M libcxx/include/new
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.placement/new.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.placement/new_array.pass.cpp
Log Message:
-----------
[libc++] Implement LWG4477: placement operator delete should be constexpr (#189915)
Implement the proposed resolution of
[LWG4477](https://cplusplus.github.io/LWG/issue4477).
P2747R2 made placement `operator new` constexpr since C++26, but the
corresponding placement `operator delete` was not. When a constructor
throws during placement new in a constant expression, the placement
delete is invoked and fails because it's not constexpr.
Add `_LIBCPP_CONSTEXPR_SINCE_CXX26` to placement `operator delete(void*,
void*)` and `operator delete[](void*, void*)`.
Closes #189843
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list