]> gcc.gnu.org Git - gcc.git/commit
openmp: Avoid ICEs with declare simd; declare simd inbranch [PR93555]
authorJakub Jelinek <jakub@redhat.com>
Wed, 5 Feb 2020 10:32:37 +0000 (11:32 +0100)
committerJakub Jelinek <jakub@redhat.com>
Thu, 13 Feb 2020 20:33:47 +0000 (21:33 +0100)
commitd42f9eaa3e189d4228a4b3a63d02b83fed6385e7
treeb5d99a87443b934d663dbe83ddc38deec1cd3487
parent329475795c6eeaa2b122672091c9119b9d6c5564
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.
gcc/ChangeLog
gcc/omp-simd-clone.c
gcc/testsuite/ChangeLog
gcc/testsuite/c-c++-common/gomp/pr93555-1.c [new file with mode: 0644]
gcc/testsuite/c-c++-common/gomp/pr93555-2.c [new file with mode: 0644]
gcc/testsuite/gfortran.dg/gomp/pr93555.f90 [new file with mode: 0644]
This page took 0.071554 seconds and 6 git commands to generate.