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

--- Comment #3 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Tomasz Kaminski <[email protected]>:

https://gcc.gnu.org/g:c8b388a94890b06d58a290dd39b9023cc4383c80

commit r16-4351-gc8b388a94890b06d58a290dd39b9023cc4383c80
Author: Tomasz KamiÅski <[email protected]>
Date:   Thu Oct 2 16:17:05 2025 +0200

    libstdc++: Implement P3235R3 optimizations for std::print [PR121790]

    This patch implements additional enable_nonlocking_formatter_optimization
    specializations listed in P3235R3.

            PR libstdc++/121790

    libstdc++-v3/ChangeLog:

            * include/bits/chrono_io.h
            (enable_nonlocking_formatter_optimization): Define specializations
            for chrono types.
            * include/bits/version.def (print): Bump.
            * include/bits/version.h: Regenerate.
            * include/std/format (enable_nonlocking_formatter_optimization):
            Define specializations for pair, tuple and ranges.
            * include/std/queue (enable_nonlocking_formatter_optimization):
            Define specializations for queue and priority_queue.
            * include/std/stack (enable_nonlocking_formatter_optimization):
            Define specialization for stack.
            * include/std/stacktrace
(enable_nonlocking_formatter_optimization):
            Define specialization for basic_stacktrace and stacktrace_entry.
            * include/std/thread (enable_nonlocking_formatter_optimization):
            Define specialization for thread::id.
            * include/std/vector (enable_nonlocking_formatter_optimization):
            Define specialization for vector<bool>::reference.
            * testsuite/23_containers/vector/bool/format.cc: Test value of
            enable_nonlocking_formatter_optimization.
            * testsuite/30_threads/thread/id/output.cc: Likewise.
            * testsuite/std/format/ranges/adaptors.cc: Likewise.
            * testsuite/std/format/ranges/formatter.cc: Likewise.
            * testsuite/std/format/tuple.cc: Likewise.
            * testsuite/std/time/format/empty_spec.cc: Extract Rep class
            to custom_rep.h.
            * testsuite/std/time/format/custom_rep.h: Extracted from
            empty_spec.cc.
            * testsuite/std/time/format/nonlocking.cc: New test.

    Reviewed-by: Jonathan Wakely <[email protected]>

Reply via email to