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

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

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

commit r16-7415-ga2e2fdf2f52c0d73e63a3005db459b4fa09bec7f
Author: Jakub Jelinek <[email protected]>
Date:   Mon Feb 9 17:54:10 2026 +0100

    c++: Add self reference to define_aggregate created aggregates [PR123984]

    We weren't adding the DECL_SELF_REFERENCE_P TYPE_DECL to TYPE_FIELDS of
    eval_define_aggregate created aggregates, which resulted in ICE in
    accessible_base_p which relies on DECL_SELF_REFERENCE_P TYPE_DECL to be
    present in base classes of other classes.

    2026-02-09  Jakub Jelinek  <[email protected]>

            PR c++/123984
            * reflect.cc (eval_define_aggregate): Set TYPE_BEING_DEFINED on
type
            after pushclass, call build_self_reference, remove assertion that
            TYPE_FIELDS (type) is NULL and instead set fields to
            TYPE_FIELDS (type).

            * g++.dg/reflect/define_aggregate6.C: New test.

Reply via email to