[libcxx-commits] [libcxx] [libc++] Make list constexpr as part of P3372R3 (PR #129799)
Peng Liu via libcxx-commits
libcxx-commits at lists.llvm.org
Wed Jun 11 07:06:11 PDT 2025
================
@@ -239,12 +240,24 @@ void test_ctor_under_alloc_with_alloc() {
#endif
}
-int main(int, char**) {
+TEST_CONSTEXPR_CXX26 bool test() {
basic_test();
test_emplacable_concept();
test_emplacable_concept_with_alloc();
- test_ctor_under_alloc();
- test_ctor_under_alloc_with_alloc();
+
+ if (!TEST_IS_CONSTANT_EVALUATED) {
+ test_ctor_under_alloc();
+ test_ctor_under_alloc_with_alloc();
----------------
winner245 wrote:
The main challenge I faced to make these tests constexpr is that they both call a function `getConstructController`, which defines a local static variable.
```cpp
// getConstructController - Return the global allocator construction controller.
inline ConstructController* getConstructController() {
static ConstructController c;
return &c;
}
```
According to my test (https://godbolt.org/z/c51735h3T), this function call cannot be made constexpr.
https://github.com/llvm/llvm-project/pull/129799
More information about the libcxx-commits
mailing list