https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117822
Bug ID: 117822
Summary: [C++23] basic_stacktrace allocator-extended move
constructor uses _Allocator instead of _AllocTraits
Product: gcc
Version: 14.2.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: libstdc++
Assignee: unassigned at gcc dot gnu.org
Reporter: dieram3 at gmail dot com
Target Milestone: ---
std::basic_stacktrace's allocator-extended move constructor uses _Allocator
instead of _AllocTraits to get access to is_always_equal:
https://github.com/gcc-mirror/gcc/blob/24dac1eab9c3b650826bbaa84dd64310910e647c/libstdc%2B%2B-v3/include/std/stacktrace#L298C28-L298C43
This causes a compilation error with allocators that do not define such member,
such as std::pmr::polymorphic_allocator.
Repro:
https://godbolt.org/z/bo1Wq4Kn8
It's an easy fix. Hopefully it can be back-ported to GCC 13 so it can be used
in Ubuntu 22.04.
Thanks!