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

--- Comment #6 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:9757e4440bd8755d327601a60a73d57d712583ed

commit r14-2168-g9757e4440bd8755d327601a60a73d57d712583ed
Author: Iain Buclaw <ibuc...@gdcproject.org>
Date:   Wed Jun 28 17:38:16 2023 +0200

    d: Fix d_signed_or_unsigned_type is invoked for vector types (PR110193)

    This function can be invoked on VECTOR_TYPE, but the implementation
    assumes it works on integer types only.  To fix, added a check whether
    the type passed is any `__vector(T)' or non-integral type, and return
    early by calling `signed_or_unsigned_type_for()' instead.

    Problem was found by instrumenting TYPE_PRECISION and ICEing when
    applied on VECTOR_TYPEs.

            PR d/110193

    gcc/d/ChangeLog:

            * types.cc (d_signed_or_unsigned_type): Handle being called with
any
            vector or non-integral type.

Reply via email to