]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
backport: re PR middle-end/67335 (ICE in compiling omp simd function with unused...
authorJakub Jelinek <jakub@redhat.com>
Tue, 30 May 2017 07:42:48 +0000 (09:42 +0200)
committerJakub Jelinek <jakub@gcc.gnu.org>
Tue, 30 May 2017 07:42:48 +0000 (09:42 +0200)
Backported from mainline
2016-11-21  Jakub Jelinek  <jakub@redhat.com>

PR middle-end/67335
* omp-low.c (simd_clone_adjust_argument_types): Use NULL prefix
for tmp simd array if DECL_NAME (parm) is NULL.

* g++.dg/vect/simd-clone-7.cc: New test.

From-SVN: r248625

gcc/ChangeLog
gcc/omp-low.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/vect/simd-clone-7.cc [new file with mode: 0644]

index 0f79e4fe0417ece409da3d344b734a41d1413bbd..eb6f4b757f2496dd70d6c7ffb5a15b1946182ebe 100644 (file)
@@ -1,6 +1,12 @@
 2017-05-30  Jakub Jelinek  <jakub@redhat.com>
 
        Backported from mainline
+       2016-11-21  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/67335
+       * omp-low.c (simd_clone_adjust_argument_types): Use NULL prefix
+       for tmp simd array if DECL_NAME (parm) is NULL.
+
        2016-11-16  Jakub Jelinek  <jakub@redhat.com>
 
        PR rtl-optimization/78378
index 0ea879f37100e21c3139e4187bd71fe59b2b65ce..308e13506073de62b94e25549aefed1c5dfd42e0 100644 (file)
@@ -12946,7 +12946,9 @@ simd_clone_adjust_argument_types (struct cgraph_node *node)
 
          if (node->definition)
            node->simdclone->args[i].simd_array
-             = create_tmp_simd_array (IDENTIFIER_POINTER (DECL_NAME (parm)),
+             = create_tmp_simd_array (DECL_NAME (parm)
+                                      ? IDENTIFIER_POINTER (DECL_NAME (parm))
+                                      : NULL,
                                       parm_type, node->simdclone->simdlen);
        }
       adjustments.safe_push (adj);
index a26f8973f937fcc8ab7b141a177f210ad6dc72f4..677585fe428164974ecc372365ca25447bb2a452 100644 (file)
@@ -1,6 +1,11 @@
 2017-05-30  Jakub Jelinek  <jakub@redhat.com>
 
        Backported from mainline
+       2016-11-21  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/67335
+       * g++.dg/vect/simd-clone-7.cc: New test.
+
        2016-11-18  Jakub Jelinek  <jakub@redhat.com>
 
        PR c++/77285
diff --git a/gcc/testsuite/g++.dg/vect/simd-clone-7.cc b/gcc/testsuite/g++.dg/vect/simd-clone-7.cc
new file mode 100644 (file)
index 0000000..fd5751b
--- /dev/null
@@ -0,0 +1,10 @@
+// PR middle-end/67335
+// { dg-do compile }
+// { dg-additional-options "-fopenmp-simd" }
+
+#pragma omp declare simd notinbranch uniform(y)
+float
+bar (float x, float *y, int)
+{
+  return y[0] + y[1] * x;
+}