[Bug c/105635] [12 Regression] ICE in gimple_parm_array_size, at pointer-query.cc:592 since r12-6606-g9d6a0f388eb048f8

cvs-commit at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Mon May 30 03:36:44 GMT 2022


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

--- Comment #5 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-12 branch has been updated by Jakub Jelinek
<jakub@gcc.gnu.org>:

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

commit r12-8432-g7b88f9b8881b7653b5a834da1b2b8fda463e61c0
Author: Jakub Jelinek <jakub@redhat.com>
Date:   Thu May 19 11:56:21 2022 +0200

    pointer-query: Fix ICE with non-pointer param [PR105635]

    The gimple_parm_array_size function comment talks about pointe parameters
    but doesn't actually verify it, it checks whether an attribute is present
    on the function and then just uses TREE_TYPE (TREE_TYPE (var)) which
    assumes a pointer type (or in theory could work for ARRAY_TYPE but
    c-family languages which only have that attribute will never have
ARRAY_TYPE
    parameters; and for VECTOR_TYPE/COMPLEX_TYPE it would mean something quite
    different).

    So, this patch punts early if var doesn't have pointer/reference type.

    2022-05-19  Jakub Jelinek  <jakub@redhat.com>

            PR c/105635
            * pointer-query.cc (gimple_parm_array_size): Return NULL if var
            doesn't have pointer or reference type.

            * gcc.dg/pr105635.c: New test.

    (cherry picked from commit 3b4daa0b3c3d8eb2ac3b40ad6898f314ed4d7919)


More information about the Gcc-bugs mailing list