[libcxx-commits] [libcxx] [libc++]libcxx constexpr deque (PR #200929)

A. Jiang via libcxx-commits libcxx-commits at lists.llvm.org
Tue Jun 9 01:20:31 PDT 2026


================
@@ -19,7 +21,22 @@
 #include "test_macros.h"
 #include "min_allocator.h"
 
+#if TEST_STD_VER >= 26
+constexpr bool test() {
+  std::deque<int> d;
+  assert(d.empty());
+  d.push_back(1);
+  assert(!d.empty());
+  return true;
+}
+#endif
+
 int main(int, char**) {
+#if TEST_STD_VER >= 26
----------------
frederick-vs-ja wrote:

Hmm... currently, there're 31 tests files too heavy for the default limit of Clang.

I attempted to reduce the strength (in constant evaluation) for some tests while keeping reaching 1024 `int` elements (occupying one whole `deque` block), but the work didn't seem easy.

<details><summary>Failed Tests</summary>
<p>

```
  Failed Tests (31):
    llvm-libc++-shared.cfg.in :: std/containers/sequences/deque/deque.capacity/resize_size.pass.cpp
    llvm-libc++-shared.cfg.in :: std/containers/sequences/deque/deque.capacity/resize_size_value.pass.cpp
    llvm-libc++-shared.cfg.in :: std/containers/sequences/deque/deque.capacity/shrink_to_fit.pass.cpp
    llvm-libc++-shared.cfg.in :: std/containers/sequences/deque/deque.cons/assign_iter_iter.pass.cpp
    llvm-libc++-shared.cfg.in :: std/containers/sequences/deque/deque.cons/assign_size_value.pass.cpp
    llvm-libc++-shared.cfg.in :: std/containers/sequences/deque/deque.cons/size.pass.cpp
    llvm-libc++-shared.cfg.in :: std/containers/sequences/deque/deque.cons/size_value.pass.cpp
    llvm-libc++-shared.cfg.in :: std/containers/sequences/deque/deque.cons/size_value_alloc.pass.cpp
    llvm-libc++-shared.cfg.in :: std/containers/sequences/deque/deque.modifiers/emplace.pass.cpp
    llvm-libc++-shared.cfg.in :: std/containers/sequences/deque/deque.modifiers/emplace_back.pass.cpp
    llvm-libc++-shared.cfg.in :: std/containers/sequences/deque/deque.modifiers/emplace_front.pass.cpp
    llvm-libc++-shared.cfg.in :: std/containers/sequences/deque/deque.modifiers/erase_iter.pass.cpp
    llvm-libc++-shared.cfg.in :: std/containers/sequences/deque/deque.modifiers/erase_iter_iter.pass.cpp
    llvm-libc++-shared.cfg.in :: std/containers/sequences/deque/deque.modifiers/insert_iter_iter.pass.cpp
    llvm-libc++-shared.cfg.in :: std/containers/sequences/deque/deque.modifiers/insert_range.pass.cpp
    llvm-libc++-shared.cfg.in :: std/containers/sequences/deque/deque.modifiers/insert_rvalue.pass.cpp
    llvm-libc++-shared.cfg.in :: std/containers/sequences/deque/deque.modifiers/insert_size_value.pass.cpp
    llvm-libc++-shared.cfg.in :: std/containers/sequences/deque/deque.modifiers/insert_value.pass.cpp
    llvm-libc++-shared.cfg.in :: std/containers/sequences/deque/deque.modifiers/pop_back.invalidation.pass.cpp
    llvm-libc++-shared.cfg.in :: std/containers/sequences/deque/deque.modifiers/pop_back.pass.cpp
    llvm-libc++-shared.cfg.in :: std/containers/sequences/deque/deque.modifiers/pop_front.invalidation.pass.cpp
    llvm-libc++-shared.cfg.in :: std/containers/sequences/deque/deque.modifiers/pop_front.pass.cpp
    llvm-libc++-shared.cfg.in :: std/containers/sequences/deque/deque.modifiers/push_back.pass.cpp
    llvm-libc++-shared.cfg.in :: std/containers/sequences/deque/deque.modifiers/push_back_rvalue.pass.cpp
    llvm-libc++-shared.cfg.in :: std/containers/sequences/deque/deque.modifiers/push_front.pass.cpp
    llvm-libc++-shared.cfg.in :: std/containers/sequences/deque/deque.modifiers/push_front_rvalue.pass.cpp
    llvm-libc++-shared.cfg.in :: std/containers/sequences/deque/deque.special/copy.pass.cpp
    llvm-libc++-shared.cfg.in :: std/containers/sequences/deque/deque.special/copy_backward.pass.cpp
    llvm-libc++-shared.cfg.in :: std/containers/sequences/deque/deque.special/move.pass.cpp
    llvm-libc++-shared.cfg.in :: std/containers/sequences/deque/deque.special/move_backward.pass.cpp
    llvm-libc++-shared.cfg.in :: std/containers/sequences/deque/deque.special/swap.pass.cpp
```

</p>
</details> 

https://github.com/llvm/llvm-project/pull/200929


More information about the libcxx-commits mailing list