https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110149

--- Comment #2 from Jonathan Wakely <redi at gcc dot gnu.org> ---
GCC's formatter<const void*, charT> specialization has:

        // _GLIBCXX_RESOLVE_LIB_DEFECTS
        // P2519R3 Formatting pointers
        __first = __spec._M_parse_zero_fill(__first, __last);
        if (__finished())
          return __first;

        __first = __spec._M_parse_width(__first, __last, __pc);

        if (__first != __last && (*__first == 'p' || *__first == 'P'))
          {
            if (*__first == 'P')
              __spec._M_type = __format::_Pres_P;
            ++__first;
          }

Arguably, P2591 is not fixing a defect and so parsing '0' and 'P' could be
guarded behind a check for #if __cplusplus > 202302L but I think it's more
useful to treat this as a fix for C++20 and C++23, not just a C++26 change.

Reply via email to