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

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

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

commit r16-9657-ge47727a876ca2adccfab8bb1b4ede8a97326b636
Author: Tomasz KamiÅski <[email protected]>
Date:   Fri Sep 11 10:23:33 2026 +0200

    libstdc++: Remove unecessary std::start_lifetime_as call in inplace_vector
[PR124121].

    This removes use of std::start_lifetime_as from inplace_vector::_M_init,
    that was preventing optimizations (see PR124121), it is not required as
    GCC treats any write to union as potentially changing active member.
    Furthermore when available __builtin_constexpr_diag is used to emit better
    error message. TODO comment is also removed, as suggested new call is not
    supported until clang 23.

    This backports parts of r17-4164-ga6cb4f45, that does not depend on
    start_lifetime.

    libstdc++-v3/ChangeLog:

            PR libstdc++/124121
            * include/std/inplace_vector (inplace_vector::_M_init): Remove
            unnecessary start_lifetime_as call. Emit error using
            __builtin_constexpr_diag.

    Reviewed-by: Jonathan Wakely <[email protected]>
    Signed-off-by: Tomasz KamiÅski <[email protected]>

Reply via email to