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!

Reply via email to