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

--- Comment #3 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The trunk branch has been updated by Jason Merrill <ja...@gcc.gnu.org>:

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

commit r15-3837-gae57e52754ca6c96145a1b7504c2c7613a9e54d9
Author: Nina Dinka Ranns <dinka.ra...@googlemail.com>
Date:   Fri Aug 30 13:49:07 2024 +0100

    c++/contracts: ICE in build_contract_condition_function [PR116490]

    We currently do not expect comdat group of the guarded function to
    be set at the time of generating pre and post check function.
    However, in the case of an explicit instantiation, the guarded
    function has been added to a comdat group before generating contract
    check functions, which causes the observed ICE. Current assert
    removed and an additional check for comdat group of the guarded
    function added. With this change, the pre and post check functions
    get added to the same comdat group of the guarded function if the
    guarded function is already placed in a comdat group.

            PR c++/116490

    gcc/cp/ChangeLog:

            * contracts.cc (build_contract_condition_function): added
            a check for comdat group of the guarded function. If set,
            the condition check function is added to the same comdat
            group.

    gcc/testsuite/ChangeLog:

            * g++.dg/contracts/pr116490.C: New test.

    Signed-off-by: Nina Ranns <dinka.ra...@gmail.com>
  • [Bug c++/116490] ICE in build_c... cvs-commit at gcc dot gnu.org via Gcc-bugs

Reply via email to