PR other/58712
authorjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 4 Feb 2014 12:19:32 +0000 (12:19 +0000)
committerjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 4 Feb 2014 12:19:32 +0000 (12:19 +0000)
* omp-low.c (simd_clone_struct_copy): If from->inbranch
is set, copy one less argument.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207461 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/omp-low.c

index 41fc977..681ab7b 100644 (file)
@@ -1,5 +1,9 @@
 2014-02-04  Jakub Jelinek  <jakub@redhat.com>
 
+       PR other/58712
+       * omp-low.c (simd_clone_struct_copy): If from->inbranch
+       is set, copy one less argument.
+
        PR rtl-optimization/57915
        * recog.c (simplify_while_replacing): If all unary/binary/relational
        operation arguments are constant, attempt to simplify those.
index d7589aa..900c1ba 100644 (file)
@@ -10660,7 +10660,8 @@ simd_clone_struct_copy (struct cgraph_simd_clone *to,
                        struct cgraph_simd_clone *from)
 {
   memcpy (to, from, (sizeof (struct cgraph_simd_clone)
-                    + from->nargs * sizeof (struct cgraph_simd_clone_arg)));
+                    + ((from->nargs - from->inbranch)
+                       * sizeof (struct cgraph_simd_clone_arg))));
 }
 
 /* Return vector of parameter types of function FNDECL.  This uses