[PATCH] Mark <queue>, <deque> constexpr
Jonathan Wakely
jwakely@redhat.com
Thu Aug 21 13:17:47 GMT 2025
On Thu, 21 Aug 2025 at 12:46, Tomasz Kaminski <tkaminsk@redhat.com> wrote:
>
>
>
> On Mon, Aug 11, 2025 at 3:22 PM Thor Preimesberger <tcpreimesberger@gmail.com> wrote:
>>
>> libstdc++: Mark <queue>, <deque> constexpr.
>>
>> This patch makes partial progress towards P3372 by marking
>> std::{deque, priority_queue, queue} and relevant internal helpers to be
>> constexpr when using C++26.
>>
>> libstdc++-v3/ChangeLog:
>>
>> * include/bits/deque.tcc: Mark nonmember functions constexpr.
>> * include/bits/stl_algobase.h: Mark some __equal_aux1 overloads
>> constexpr for deque nonmember functions.
>> * include/bits/stl_deque.h: Make deque and member functions
>> constexpr.
>> * include/bits/stl_queue.h: Make queue, priority_queue,
>> and respective member functions constexpr.
>> * include/bits/stl_uninitialized.h: Mark
>> __uninitialized_default_a constexpr for deque nonmember functions.
>> * include/bits/version.def: Add feature test macros for
>> __cpp_lib_constexpr_{queue, deque}.
>> * include/bits/version.h : Regenerate.
>> * include/std/deque: Mark nonmember functions constexpr and add macros.
>> * include/std/queue: Mark nonmember functions constexpr and add macros.
>> * testsuite/23_containers/deque/constexpr.cc: New test. Tries to
>> exhaust all possible features in standard.
>> * testsuite/23_containers/queue/constexpr.cc: New test. Ditto.
>> * testsuite/23_containers/priority_queue/constexpr.cc: New test. Ditto.
>>
>> Signed-off-by: Thor Preimesberger <tcpreimesberger@gmail.com>
>>
>> ---
>
> Thank you very much for the patch.
>
> I have few additional comments to the changes.
> Firstly we also have libstdc++-v3/include/debug/deque file that is used in debug mode,
> you may test it by adding RUNTESTFLAGS="--target_board=-D_GLIBCXX_DEBUG".
I think that needs to be:
RUNTESTFLAGS="--target_board=unix/-D_GLIBCXX_DEBUG"
(I haven't looked at the patch itself yet)
More information about the Libstdc++
mailing list