summaryrefslogtreecommitdiff
path: root/patches/gcc/4.3.0/525-pr35982.patch
diff options
context:
space:
mode:
Diffstat (limited to 'patches/gcc/4.3.0/525-pr35982.patch')
-rw-r--r--patches/gcc/4.3.0/525-pr35982.patch23
1 files changed, 23 insertions, 0 deletions
diff --git a/patches/gcc/4.3.0/525-pr35982.patch b/patches/gcc/4.3.0/525-pr35982.patch
new file mode 100644
index 0000000..461fd57
--- /dev/null
+++ b/patches/gcc/4.3.0/525-pr35982.patch
@@ -0,0 +1,23 @@
+Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.0/gentoo/65_all_gcc43-pr35982.patch
+http://gcc.gnu.org/PR35982
+
+2008-04-23 Ira Rosen <irar@il.ibm.com>
+
+ PR tree-optimization/35982
+ * tree-vect-analyze.c (vect_check_interleaving): Check that the
+ interleaved data-refs are of the same type.
+
+diff -durN gcc-4.3.0.orig/gcc/tree-vect-analyze.c gcc-4.3.0/gcc/tree-vect-analyze.c
+--- gcc-4.3.0.orig/gcc/tree-vect-analyze.c 2007-12-06 17:18:55.000000000 +0100
++++ gcc-4.3.0/gcc/tree-vect-analyze.c 2008-06-10 14:45:17.000000000 +0200
+@@ -1081,7 +1081,9 @@
+ type_size_b = TREE_INT_CST_LOW (TYPE_SIZE_UNIT (TREE_TYPE (DR_REF (drb))));
+
+ if (type_size_a != type_size_b
+- || tree_int_cst_compare (DR_STEP (dra), DR_STEP (drb)))
++ || tree_int_cst_compare (DR_STEP (dra), DR_STEP (drb))
++ || !types_compatible_p (TREE_TYPE (DR_REF (dra)),
++ TREE_TYPE (DR_REF (drb))))
+ return;
+
+ init_a = TREE_INT_CST_LOW (DR_INIT (dra));