[Bug middle-end/93555] ICE in simd_clone_struct_copy, at omp-simd-clone.c:84

cvs-commit at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Thu Feb 13 22:32:00 GMT 2020


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

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

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

commit r9-8218-gd42f9eaa3e189d4228a4b3a63d02b83fed6385e7
Author: Jakub Jelinek <jakub@redhat.com>
Date:   Wed Feb 5 11:32:37 2020 +0100

    openmp: Avoid ICEs with declare simd; declare simd inbranch [PR93555]

    The testcases ICE because when processing the declare simd inbranch,
    we don't create the i == 0 clone as it already exists, which means
    clone_info->nargs is not adjusted, but we then rely on it being adjusted
    when trying other clones.

    2020-02-05  Jakub Jelinek  <jakub@redhat.com>

        PR middle-end/93555
        * omp-simd-clone.c (expand_simd_clones): If simd_clone_mangle or
        simd_clone_create failed when i == 0, adjust clone->nargs by
        clone->inbranch.

        * c-c++-common/gomp/pr93555-1.c: New test.
        * c-c++-common/gomp/pr93555-2.c: New test.
        * gfortran.dg/gomp/pr93555.f90: New test.


More information about the Gcc-bugs mailing list