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

--- Comment #2 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Iain Buclaw <ibuc...@gcc.gnu.org>:

https://gcc.gnu.org/g:07984707be4eb9aea55dafbbc796790b8b8ac700

commit r12-3206-g07984707be4eb9aea55dafbbc796790b8b8ac700
Author: Iain Buclaw <ibuc...@gdcproject.org>
Date:   Sat Aug 28 16:57:03 2021 +0200

    d: ICE in gimple_register_canonical_type_1, at lto/lto-common.c:430
(PR102094)

    User defined types have the TYPE_CXX_ODR_P flag set, but closure frames
    did not.  This mismatch led to an ICE in the conflict detection for ODR
    and interoperable non-ODR types.  As a given closure frame is tied
    explicitly to a function, it already conforms to ODR.

            PR d/102094

    gcc/d/ChangeLog:

            * d-codegen.cc (build_frame_type): Set TYPE_CXX_ODR_P.

    gcc/testsuite/ChangeLog:

            * gdc.dg/lto/pr102094_0.d: New test.

Reply via email to