patches/gcc/4.3.0/270-pr35982.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Fri Jan 01 19:03:48 2010 +0100 (2010-01-01)
changeset 1676 6f836ab1b317
parent 746 b150d6f590fc
permissions -rw-r--r--
cc/gcc: update ptachsets for gcc-4.4.{0,1,2}

As reported by Joachim Nilsson <jocke@vmlinux.org>
in: http://sourceware.org/ml/crossgcc/2010-01/msg00005.html

It seems I need to add the 4.3.4/290-index_macro.patch to the GCC 4.4.x
series as well. I immediately trigger the following libstdc++ bug for
4.4.2 with a uClibc .config which has UCLIBC_SUSV3_LEGACY_MACROS set[1].

http://lists.busybox.net/pipermail/uclibc/2006-April/035991.html
yann@552
     1
Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.0/gentoo/65_all_gcc43-pr35982.patch
yann@552
     2
http://gcc.gnu.org/PR35982
yann@552
     3
yann@552
     4
2008-04-23  Ira Rosen  <irar@il.ibm.com>
yann@552
     5
yann@552
     6
	PR tree-optimization/35982
yann@552
     7
	* tree-vect-analyze.c (vect_check_interleaving): Check that the
yann@552
     8
	interleaved data-refs are of the same type.
yann@552
     9
yann@552
    10
diff -durN gcc-4.3.0.orig/gcc/tree-vect-analyze.c gcc-4.3.0/gcc/tree-vect-analyze.c
yann@552
    11
--- gcc-4.3.0.orig/gcc/tree-vect-analyze.c	2007-12-06 17:18:55.000000000 +0100
yann@552
    12
+++ gcc-4.3.0/gcc/tree-vect-analyze.c	2008-06-10 14:45:17.000000000 +0200
yann@552
    13
@@ -1081,7 +1081,9 @@
yann@552
    14
   type_size_b = TREE_INT_CST_LOW (TYPE_SIZE_UNIT (TREE_TYPE (DR_REF (drb))));
yann@552
    15
 
yann@552
    16
   if (type_size_a != type_size_b
yann@552
    17
-      || tree_int_cst_compare (DR_STEP (dra), DR_STEP (drb)))
yann@552
    18
+      || tree_int_cst_compare (DR_STEP (dra), DR_STEP (drb))
yann@552
    19
+      || !types_compatible_p (TREE_TYPE (DR_REF (dra)), 
yann@552
    20
+                              TREE_TYPE (DR_REF (drb))))
yann@552
    21
     return;
yann@552
    22
 
yann@552
    23
   init_a = TREE_INT_CST_LOW (DR_INIT (dra));