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

--- Comment #4 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Eric Botcazou <ebotca...@gcc.gnu.org>:

https://gcc.gnu.org/g:7ac96b05cfa7478706dce175e7c7b09cbf559451

commit r15-4221-g7ac96b05cfa7478706dce175e7c7b09cbf559451
Author: Eric Botcazou <ebotca...@adacore.com>
Date:   Wed Oct 9 21:31:13 2024 +0200

    Fix LTO bootstrap failure with -Werror=lto-type-mismatch

    In GNAT's implementation model, using convention C (or C_Pass_By_Copy) has
    no effect on the internal representation of types since the representation
    is identical to that of C by default.  It's even counter-productive given
    the implementation advice listed in B.3(63-71) so the interface between the
    front-end and gigi does not use it and instead uses structurally identical
    types on both sides.

    gcc/ada
            PR ada/117038
            * fe.h (struct c_array): Add 'const' to declaration of pointer.
            (C_Source_Buffer): Use consistent formatting.
            * par-ch3.adb (P_Component_Items): Properly set Aliased_Present on
            access definition.
            * sinput.ads: Remove clause for Interfaces.C.
            (C_Array): Change type of Length to Integer and make both
components
            aliased.  Remove Convention aspect.
            (C_Source_Buffer): Remove all aspects.
            * sinput.adb (C_Source_Buffer): Adjust to above change.

Reply via email to