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

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

https://gcc.gnu.org/g:9056b5faa87df59fb8eb2f92096a8e6e7d246757

commit r16-4485-g9056b5faa87df59fb8eb2f92096a8e6e7d246757
Author: Iain Sandoe <[email protected]>
Date:   Sat Sep 6 17:11:21 2025 +0100

    c++: Implement P1494 and P3641 Partial program correctness [PR119060].

    P1494 provides a mechanism that serves to demarc epochs within the code
    preventing UB-based optimisations from 'time traveling' across such
    boundaries.  The additional paper, P3641, alters the name of the function
    to 'observable_checkpoint' which is the name used here.

    This implementation  maintains the observable function call through to
    expand, where it produces no code.

            PR c++/119060

    gcc/ChangeLog:

            * builtins.cc (expand_builtin): Handle BUILT_IN_OBSERVABLE_CHKPT.
            * builtins.def (BUILT_IN_OBSERVABLE_CHKPT): New.
            * tree.cc (build_common_builtin_nodes): Build observable
            checkpoint builtin.

    gcc/cp/ChangeLog:

            * cxxapi-data.csv: Add observable_checkpoint to <utility>.
            * std-name-hint.gperf: Add observable_checkpoint to <utility>.
            * std-name-hint.h: Regenerate.

    gcc/testsuite/ChangeLog:

            * g++.dg/cpp26/observable-checkpoint.C: New test.

    Signed-off-by: Iain Sandoe <[email protected]>

Reply via email to