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

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

https://gcc.gnu.org/g:5a4f77eb6afffb16fae3effe9965dc8b216c84ce

commit r17-5409-g5a4f77eb6afffb16fae3effe9965dc8b216c84ce
Author: Richard Biener <[email protected]>
Date:   Tue Oct 20 12:14:31 2026 +0200

    lto/127922 - TBAA and unsigned vs. signed _BitInt

    With LTO we fail to ensure signed and unsigned _BitInt of the same
    precision get the same alias set.  Without LTO this is ensured
    by c_common_get_alias_set which uses the other signedness variants
    alias-set.  With LTO this is complicated by streaming not populating
    the bitint_type_cache so a similar approach cannot work.  The
    following instead handles this during canonical type merging.
    I have still fixed gimple_signed_or_unsigned_type to support _BitInt
    and amended gimple_get_alias_set with a comment.

            PR lto/127922
            * tree.cc (type_with_interoperable_signedness): Return true
            for BITINT_TYPE.
            * gimple.cc (gimple_signed_or_unsigned_type): Properly
            handle BITINT_TYPE.
            (gimple_get_alias_set): Add comment about signed/unsigned
            BITINT_TYPE.

            * gcc.dg/lto/bitint-lto-1_0.c: New testcase.

Reply via email to