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

--- Comment #2 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Nathaniel Shead <nsh...@gcc.gnu.org>:

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

commit r15-7342-gd3627c78be116ef1941f6819d57c237e71c39444
Author: Nathaniel Shead <nathanielosh...@gmail.com>
Date:   Sat Feb 1 22:55:22 2025 +1100

    c++: Improve contracts support in modules [PR108205]

    Modules makes some assumptions about types that currently aren't
    fulfilled by the types created in contracts logic.  This patch ensures
    that exporting inline functions using contracts works again with
    modules.

            PR c++/108205

    gcc/cp/ChangeLog:

            * contracts.cc (get_pseudo_contract_violation_type): Give names
            to generated FIELD_DECLs.
            (declare_handle_contract_violation): Mark contract_violation
            type as external linkage.
            (build_contract_handler_call): Ensure any builtin declarations
            created here aren't treated as attached to the current module.

    gcc/testsuite/ChangeLog:

            * g++.dg/modules/contracts-5_a.C: New test.
            * g++.dg/modules/contracts-5_b.C: New test.

    Signed-off-by: Nathaniel Shead <nathanielosh...@gmail.com>
  • [Bug c++/108205] ICE following ... cvs-commit at gcc dot gnu.org via Gcc-bugs

Reply via email to