Update of /cvsroot/fink/dists/10.4/unstable/main/finkinfo/languages
In directory 
sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv22835/main/finkinfo/languages

Modified Files:
      Tag: pangocairo-branch
        gcc42.info gcc42.patch 
Log Message:
merge from HEAD

Index: gcc42.info
===================================================================
RCS file: /cvsroot/fink/dists/10.4/unstable/main/finkinfo/languages/gcc42.info,v
retrieving revision 1.1.2.3
retrieving revision 1.1.2.4
diff -u -d -r1.1.2.3 -r1.1.2.4
--- gcc42.info  13 Feb 2007 19:58:09 -0000      1.1.2.3
+++ gcc42.info  22 Feb 2007 13:09:22 -0000      1.1.2.4
@@ -1,30 +1,21 @@
 Info2: <<
 Package: gcc42
 Version: 4.1.9999
-Revision: 20070124
-# on next upgrade, need to verify Shlibs...it doesn't agree with Files
-
+Revision: 20070221
 Source: ftp://gcc.gnu.org/pub/gcc/snapshots/4.2-%r/gcc-4.2-%r.tar.bz2
-Source-MD5: 0cce2258681753b521c4d51af7b6ab76
+Source-MD5: f45c60a8ce1c07087bf0d7aad0f097af
 Type: -64bit
 NoSetCPPFLAGS: True
 NoSetLDFLAGS: True
 Conflicts: gcc4
 Replaces: gcc4
-Depends: gmp-shlibs (>= 4.2.1-1), libmpfr1-shlibs (>= 2.2.0-2), odcctools (>= 
622.3-20060913), %N-shlibs (>= %e:%v-%r), libiconv, libgettext3-shlibs
-BuildDepends: gmp (>= 4.2.1-1), libmpfr1 (>= 2.2.0-2), libiconv-dev, 
gettext-tools, libgettext3-dev
+Depends: gmp-shlibs (>= 4.2.1-1), libmpfr1-shlibs (>= 2.2.0-2), %N-shlibs (>= 
%v-%r), libiconv, libgettext3-shlibs, cctools (>= 622-1)
+BuildDepends: gmp (>= 4.2.1-1), libmpfr1 (>= 2.2.0-2), libiconv-dev, 
gettext-tools, libgettext3-dev, cctools (>= 622-1)
 ConfigureParams: <<
  --prefix=%p/lib/gcc4.2 --mandir=%p/share/man --infodir=%p/share/info 
--enable-languages=c,c++,fortran,objc,java \
  `cc -v 2>&1|grep '^Configured'|tr ' ' '\n'|egrep 
'^\-\-(with\-(arch|tune)|host)='|xargs` \
- --with-as=%p/lib/odcctools/bin/as --with-ld=%p/lib/odcctools/bin/ld 
--with-nm=%p/lib/odcctools/bin/nm \
  --with-gmp=%p --with-libiconv-prefix=%p --with-system-zlib 
--x-includes=/usr/X11R6/include --x-libraries=/usr/X11R6/lib
 <<
-PatchScript: <<
- #!/bin/sh -ev
- # make sure odcctools libtool being used.
- perl -pi -e 's,/usr/bin/libtool,%p/lib/odcctools/bin/libtool,;' 
gcc/config/darwin.h
- perl -pi -e 's,nm -P,%p/lib/odcctools/bin/nm -P,;' 
libstdc++-v3/scripts/make_exports.pl
-<<
 Patch: %n.patch
 CompileScript: <<
  #!/bin/sh -ev
@@ -107,38 +98,22 @@
   DocFiles: gcc/COPYING gcc/COPYING.LIB
   Homepage: http://gcc.gnu.org/
   Files: <<
-    lib/gcc4.2/lib/libgcc_s.1.dylib
-    lib/gcc4.2/lib/libgfortran.2.dylib
-    lib/gcc4.2/lib/libgfortran.2.0.0.dylib
-    lib/gcc4.2/lib/libssp.0.dylib
-    lib/gcc4.2/lib/libssp.0.0.0.dylib
-    lib/gcc4.2/lib/libgcc_s.10.4.dylib
-    lib/gcc4.2/lib/libgcc_s.10.5.dylib
-    lib/gcc4.2/lib/libobjc-gnu.2.dylib
-    lib/gcc4.2/lib/libobjc-gnu.2.0.0.dylib
-    lib/gcc4.2/lib/libstdc++.6.dylib
-    lib/gcc4.2/lib/libstdc++.6.0.9.dylib
-    lib/gcc4.2/lib/libgomp.1.dylib
-    lib/gcc4.2/lib/libgomp.1.0.0.dylib
-    lib/gcc4.2/lib/libffi.4.0.1.dylib
-    lib/gcc4.2/lib/libffi.4.dylib
-    lib/gcc4.2/lib/libgcj.8.0.0.dylib
-    lib/gcc4.2/lib/libgcj.8.dylib
-    lib/gcc4.2/lib/libgcj-tools.8.0.0.dylib
-    lib/gcc4.2/lib/libgcj-tools.8.dylib
-    lib/gcc4.2/lib/libgij.8.0.0.dylib
-    lib/gcc4.2/lib/libgij.8.dylib
+    lib/gcc4.2/lib/libgfortran.2*.dylib
+    lib/gcc4.2/lib/libffi.4*.dylib
+    lib/gcc4.2/lib/libstdc++.6*.dylib
+    lib/gcc4.2/lib/libgcc_s.1*.dylib
+    lib/gcc4.2/lib/libgcj.8*.dylib
+    lib/gcc4.2/lib/libgcj-tools.8*.dylib
+    lib/gcc4.2/lib/libgij.8*.dylib
+    lib/gcc4.2/lib/libssp.0*.dylib
+    lib/gcc4.2/lib/libobjc-gnu.2*.dylib
+    lib/gcc4.2/lib/libgomp.1*.dylib
     lib/gcc4.2/lib/gcj-4.2.0
-    lib/gcc4.2/%lib/libgfortran.2.dylib
-    lib/gcc4.2/%lib/libgfortran.2.0.0.dylib
-    lib/gcc4.2/%lib/libssp.0.dylib
-    lib/gcc4.2/%lib/libssp.0.0.0.dylib
-    lib/gcc4.2/%lib/libobjc-gnu.2.dylib
-    lib/gcc4.2/%lib/libobjc-gnu.2.0.0.dylib
-    lib/gcc4.2/%lib/libstdc++.6.dylib
-    lib/gcc4.2/%lib/libstdc++.6.0.9.dylib
-    lib/gcc4.2/%lib/libgomp.1.dylib
-    lib/gcc4.2/%lib/libgomp.1.0.0.dylib
+    lib/gcc4.2/%lib/libgfortran.2*.dylib
+    lib/gcc4.2/%lib/libstdc++.6*.dylib
+    lib/gcc4.2/%lib/libssp.0*.dylib
+    lib/gcc4.2/%lib/libobjc-gnu.2*.dylib
+    lib/gcc4.2/%lib/libgomp.1*.dylib
   <<
   Shlibs: <<
     %p/lib/gcc4.2/lib/libgfortran.2.dylib 3.0.0 %n (>= 4.1.999-20060915) 32
@@ -171,16 +146,11 @@
  conflicts with gcc and g++ installed by the Apple Developer Tools
 <<
 DescPackaging: <<
- The current gcc 4.2 snapshots still requires several Makefile.am files
-to be patched and configure scripts regenerated in order to properly
-perform multilib builds on 32-bit PowerPC processors. Since the libffi
-and libjava don't properly build at 64-bit for Intel Darwin, I have
-used --disable-multilib on that architecture for the gcc 4.2 release.
+   The multilib builds of boehm-gc, libffi and libjava are disabled
+since the 64-bit support is incomplete on Darwin for those libraries.
+The use of odcctools has been removed and replaced with a BuildDepends
+and Depends on the gcc version from Xcode 2.4.1.
 <<
 Homepage: http://gcc.gnu.org/
 Maintainer: Jack Howarth <[EMAIL PROTECTED]>
 <<
-
-                
-
-                

Index: gcc42.patch
===================================================================
RCS file: 
/cvsroot/fink/dists/10.4/unstable/main/finkinfo/languages/gcc42.patch,v
retrieving revision 1.1.2.2
retrieving revision 1.1.2.3
diff -u -d -r1.1.2.2 -r1.1.2.3
--- gcc42.patch 31 Jan 2007 19:18:01 -0000      1.1.2.2
+++ gcc42.patch 22 Feb 2007 13:09:22 -0000      1.1.2.3
@@ -31,486 +31,3 @@
  for peer in $peerlibs ; do
    case $peer in
      xlib)
-diff -uNr gcc-4.2-20070123/gcc/testsuite/gcc.dg/tree-ssa/loop-20.c 
gcc-4.2-20070123.pr29516/gcc/testsuite/gcc.dg/tree-ssa/loop-20.c
---- gcc-4.2-20070123/gcc/testsuite/gcc.dg/tree-ssa/loop-20.c   1969-12-31 
19:00:00.000000000 -0500
-+++ gcc-4.2-20070123.pr29516/gcc/testsuite/gcc.dg/tree-ssa/loop-20.c   
2007-01-23 20:22:00.000000000 -0500
-@@ -0,0 +1,23 @@
-+/* PR tree-optimization/29516 */
-+
-+/* { dg-do compile { target fpic } } */
-+/* { dg-options "-O -ftree-vrp -fPIC -fdump-tree-ivopts" } */
-+
-+typedef struct gfc_se { int pre; } gfc_se;
-+typedef struct gfc_ss_info { int dim[7]; } gfc_ss_info;
-+int gfc_rank_cst[7 + 1];
-+gfc_conv_array_transpose (gfc_se * se) {
-+  int dest, src, dest_index, src_index;
-+  gfc_ss_info *dest_info;
-+  int n;
-+  for (n = 0; n < 2; n++) {
-+    dest_info->dim[n] = n;
-+    src_index = gfc_rank_cst[1 - n];
-+    a (se->pre, b (dest, dest_index), c (src, src_index));
-+  }
-+}
-+
-+/* Ivopts should not produce multiplication by a pointer constant.  */
-+
-+/* { dg-final { scan-tree-dump-times "\\* \[0-9\]*B;" 0 "ivopts" } } */
-+/* { dg-final { cleanup-tree-dump "ivopts" } } */
-diff -uNr gcc-4.2-20070123/gcc/tree-ssa-address.c 
gcc-4.2-20070123.pr29516/gcc/tree-ssa-address.c
---- gcc-4.2-20070123/gcc/tree-ssa-address.c    2006-10-21 01:50:35.000000000 
-0400
-+++ gcc-4.2-20070123.pr29516/gcc/tree-ssa-address.c    2007-01-23 
20:22:00.000000000 -0500
-@@ -243,54 +243,54 @@
- tree
- tree_mem_ref_addr (tree type, tree mem_ref)
- {
--  tree addr = NULL_TREE;
-+  tree addr;
-   tree act_elem;
-   tree step = TMR_STEP (mem_ref), offset = TMR_OFFSET (mem_ref);
-+  tree sym = TMR_SYMBOL (mem_ref), base = TMR_BASE (mem_ref);
-+  tree addr_base = NULL_TREE, addr_off = NULL_TREE;
- 
--  act_elem = TMR_INDEX (mem_ref);
--  if (act_elem)
-+  if (sym)
-+    addr_base = fold_convert (type, build_addr (sym, current_function_decl));
-+  else if (base && POINTER_TYPE_P (TREE_TYPE (base)))
-     {
--      act_elem = fold_convert (type, act_elem);
--
--      if (step)
--      act_elem = fold_build2 (MULT_EXPR, type, act_elem,
--                              fold_convert (type, step));
--      addr = act_elem;
-+      addr_base = fold_convert (type, base);
-+      base = NULL_TREE;
-     }
- 
--  act_elem = TMR_BASE (mem_ref);
-+  act_elem = TMR_INDEX (mem_ref);
-   if (act_elem)
-     {
--      act_elem = fold_convert (type, act_elem);
--
--      if (addr)
--      addr = fold_build2 (PLUS_EXPR, type, addr, act_elem);
--      else
--      addr = act_elem;
-+      if (step)
-+      act_elem = fold_build2 (MULT_EXPR, sizetype, act_elem, step);
-+      addr_off = act_elem;
-     }
- 
--  act_elem = TMR_SYMBOL (mem_ref);
-+  act_elem = base;
-   if (act_elem)
-     {
--      act_elem = fold_convert (type, build_addr (act_elem,
--                                               current_function_decl));
--      if (addr)
--      addr = fold_build2 (PLUS_EXPR, type, addr, act_elem);
-+      if (addr_off)
-+      addr_off = fold_build2 (PLUS_EXPR, sizetype, addr_off, act_elem);
-       else
--      addr = act_elem;
-+      addr_off = act_elem;
-     }
- 
-   if (!zero_p (offset))
-     {
--      act_elem = fold_convert (type, offset);
--
--      if (addr)
--      addr = fold_build2 (PLUS_EXPR, type, addr, act_elem);
-+      if (addr_off)
-+      addr_off = fold_build2 (PLUS_EXPR, sizetype, addr_off, offset);
-       else
--      addr = act_elem;
-+      addr_off = offset;
-     }
- 
--  if (!addr)
-+  if (addr_off)
-+    {
-+      addr = fold_convert (type, addr_off);
-+      if (addr_base)
-+      addr = fold_build2 (PLUS_EXPR, type, addr_base, addr);
-+    }
-+  else if (addr_base)
-+    addr = addr_base;
-+  else
-     addr = build_int_cst (type, 0);
- 
-   return addr;
-@@ -342,52 +342,113 @@
-             || DECL_EXTERNAL (obj)));
- }
- 
--/* Adds COEF * ELT to PARTS.  TYPE is the type of the address we
--   construct.  */
-+/* Remove M-th element from COMB.  */
- 
- static void
--add_to_parts (struct mem_address *parts, tree type, tree elt,
--            unsigned HOST_WIDE_INT coef)
-+aff_combination_remove_elt (struct affine_tree_combination *comb, unsigned m)
- {
--  /* Check if this is a symbol.  */
--  if (!parts->symbol
--      && coef == 1
--      && TREE_CODE (elt) == ADDR_EXPR
--      && fixed_address_object_p (TREE_OPERAND (elt, 0)))
-+  comb->n--;
-+  if (m <= comb->n)
-     {
--      parts->symbol = TREE_OPERAND (elt, 0);
--      return;
-+      comb->coefs[m] = comb->coefs[comb->n];
-+      comb->elts[m] = comb->elts[comb->n];
-     }
-+  if (comb->rest)
-+    {
-+      comb->coefs[comb->n] = 1;
-+      comb->elts[comb->n] = comb->rest;
-+      comb->rest = NULL_TREE;
-+      comb->n++;
-+    }
-+}
- 
--  if (coef != 1)
--    elt = fold_build2 (MULT_EXPR, type, fold_convert (type, elt),
--                     build_int_cst_type (type, coef));
--  else
--    elt = fold_convert (type, elt);
-+/* If ADDR contains an address of object that is a link time constant,
-+   move it to PARTS->symbol.  */
- 
--  if (!parts->base)
-+static void
-+move_fixed_address_to_symbol (struct mem_address *parts,
-+                            struct affine_tree_combination *addr)
-+{
-+  unsigned i;
-+  tree val = NULL_TREE;
-+
-+  for (i = 0; i < addr->n; i++)
-     {
--      parts->base = elt;
--      return;
-+      if (addr->coefs[i] != 1)
-+      continue;
-+
-+      val = addr->elts[i];
-+      if (TREE_CODE (val) == ADDR_EXPR
-+        && fixed_address_object_p (TREE_OPERAND (val, 0)))
-+      break;
-     }
- 
-+  if (i == addr->n)
-+    return;
-+
-+  parts->symbol = TREE_OPERAND (val, 0);
-+  aff_combination_remove_elt (addr, i);
-+}
-+
-+/* If ADDR contains an address of a dereferenced pointer, move it to
-+   PARTS->base.  */
-+
-+static void
-+move_pointer_to_base (struct mem_address *parts,
-+                    struct affine_tree_combination *addr)
-+{
-+  unsigned i;
-+  tree val = NULL_TREE;
-+
-+  for (i = 0; i < addr->n; i++)
-+    {
-+      if (addr->coefs[i] != 1)
-+      continue;
-+
-+      val = addr->elts[i];
-+      if (POINTER_TYPE_P (TREE_TYPE (val)))
-+      break;
-+    }
-+
-+  if (i == addr->n)
-+    return;
-+
-+  parts->base = val;
-+  aff_combination_remove_elt (addr, i);
-+}
-+
-+/* Adds ELT to PARTS.  */
-+
-+static void
-+add_to_parts (struct mem_address *parts, tree elt)
-+{
-+  tree type;
-+
-   if (!parts->index)
-     {
-       parts->index = elt;
-       return;
-     }
- 
-+  if (!parts->base)
-+    {
-+      parts->base = elt;
-+      return;
-+    }
-+
-   /* Add ELT to base.  */
--  parts->base = fold_build2 (PLUS_EXPR, type, parts->base, elt);
-+  type = TREE_TYPE (parts->base);
-+  parts->base = fold_build2 (PLUS_EXPR, type,
-+                           parts->base,
-+                           fold_convert (type, elt));
- }
- 
- /* Finds the most expensive multiplication in ADDR that can be
-    expressed in an addressing mode and move the corresponding
--   element(s) to PARTS.  TYPE is the type of the address we
--   construct.  */
-+   element(s) to PARTS.  */
- 
- static void
--most_expensive_mult_to_index (struct mem_address *parts, tree type,
-+most_expensive_mult_to_index (struct mem_address *parts,
-                             struct affine_tree_combination *addr)
- {
-   unsigned HOST_WIDE_INT best_mult = 0;
-@@ -423,16 +484,16 @@
-         continue;
-       }
- 
--      elt = fold_convert (type, addr->elts[i]);
-+      elt = fold_convert (sizetype, addr->elts[i]);
-       if (!mult_elt)
-       mult_elt = elt;
-       else
--      mult_elt = fold_build2 (PLUS_EXPR, type, mult_elt, elt);
-+      mult_elt = fold_build2 (PLUS_EXPR, sizetype, mult_elt, elt);
-     }
-   addr->n = j;
- 
-   parts->index = mult_elt;
--  parts->step = build_int_cst_type (type, best_mult);
-+  parts->step = build_int_cst_type (sizetype, best_mult);
- }
- 
- /* Splits address ADDR into PARTS.
-@@ -445,10 +506,10 @@
-    for complicated addressing modes is useless.  */
- 
- static void
--addr_to_parts (struct affine_tree_combination *addr, tree type,
--             struct mem_address *parts)
-+addr_to_parts (struct affine_tree_combination *addr, struct mem_address 
*parts)
- {
-   unsigned i;
-+  tree part;
- 
-   parts->symbol = NULL_TREE;
-   parts->base = NULL_TREE;
-@@ -456,19 +517,34 @@
-   parts->step = NULL_TREE;
- 
-   if (addr->offset)
--    parts->offset = build_int_cst_type (type, addr->offset);
-+    parts->offset = build_int_cst_type (sizetype, addr->offset);
-   else
-     parts->offset = NULL_TREE;
- 
-+  /* Try to find a symbol.  */
-+  move_fixed_address_to_symbol (parts, addr);
-+
-   /* First move the most expensive feasible multiplication
-      to index.  */
--  most_expensive_mult_to_index (parts, type, addr);
-+  most_expensive_mult_to_index (parts, addr);
-+
-+  /* Try to find a base of the reference.  Since at the moment
-+     there is no reliable way how to distinguish between pointer and its
-+     offset, this is just a guess.  */
-+  if (!parts->symbol)
-+    move_pointer_to_base (parts, addr);
- 
-   /* Then try to process the remaining elements.  */
-   for (i = 0; i < addr->n; i++)
--    add_to_parts (parts, type, addr->elts[i], addr->coefs[i]);
-+    {
-+      part = fold_convert (sizetype, addr->elts[i]);
-+      if (addr->coefs[i] != 1)
-+      part = fold_build2 (MULT_EXPR, sizetype, part,
-+                          build_int_cst_type (sizetype, addr->coefs[i]));
-+      add_to_parts (parts, part);
-+    }
-   if (addr->rest)
--    add_to_parts (parts, type, addr->rest, 1);
-+    add_to_parts (parts, fold_convert (sizetype, addr->rest));
- }
- 
- /* Force the PARTS to register.  */
-@@ -493,10 +569,10 @@
-               struct affine_tree_combination *addr)
- {
-   tree mem_ref, tmp;
--  tree addr_type = build_pointer_type (type);
-+  tree addr_type = build_pointer_type (type), atype;
-   struct mem_address parts;
- 
--  addr_to_parts (addr, addr_type, &parts);
-+  addr_to_parts (addr, &parts);
-   gimplify_mem_ref_parts (bsi, &parts);
-   mem_ref = create_mem_ref_raw (type, &parts);
-   if (mem_ref)
-@@ -509,9 +585,9 @@
-       /* Move the multiplication to index.  */
-       gcc_assert (parts.index);
-       parts.index = force_gimple_operand_bsi (bsi,
--                                            build2 (MULT_EXPR, addr_type,
--                                                    parts.index, parts.step),
--                                            true, NULL_TREE);
-+                              fold_build2 (MULT_EXPR, sizetype,
-+                                           parts.index, parts.step),
-+                              true, NULL_TREE);
-       parts.step = NULL_TREE;
-   
-       mem_ref = create_mem_ref_raw (type, &parts);
-@@ -521,16 +597,18 @@
- 
-   if (parts.symbol)
-     {
--      tmp = build_addr (parts.symbol, current_function_decl);
-+      tmp = fold_convert (addr_type,
-+                        build_addr (parts.symbol, current_function_decl));
-     
-       /* Add the symbol to base, eventually forcing it to register.  */
-       if (parts.base)
-       {
-         if (parts.index)
-           parts.base = force_gimple_operand_bsi (bsi,
--                                                 build2 (PLUS_EXPR, addr_type,
--                                                         parts.base, tmp),
--                                                 true, NULL_TREE);
-+                      fold_build2 (PLUS_EXPR, addr_type,
-+                                   fold_convert (addr_type, parts.base),
-+                                   tmp),
-+                      true, NULL_TREE);
-         else
-           {
-             parts.index = parts.base;
-@@ -546,18 +624,21 @@
-       return mem_ref;
-     }
- 
--  if (parts.base)
-+  if (parts.index)
-     {
--      /* Add base to index.  */
--      if (parts.index)
--      parts.index = force_gimple_operand_bsi (bsi,
--                                              build2 (PLUS_EXPR, addr_type,
--                                                      parts.base,
--                                                      parts.index),
--                                              true, NULL_TREE);
-+      /* Add index to base.  */
-+      if (parts.base)
-+      {
-+        atype = TREE_TYPE (parts.base);
-+        parts.base = force_gimple_operand_bsi (bsi,
-+                      fold_build2 (PLUS_EXPR, atype,
-+                                   parts.base,
-+                                   fold_convert (atype, parts.index)),
-+                      true, NULL_TREE);
-+      }
-       else
--      parts.index = parts.base;
--      parts.base = NULL_TREE;
-+      parts.base = parts.index;
-+      parts.index = NULL_TREE;
- 
-       mem_ref = create_mem_ref_raw (type, &parts);
-       if (mem_ref)
-@@ -566,15 +647,18 @@
- 
-   if (parts.offset && !integer_zerop (parts.offset))
-     {
--      /* Try adding offset to index.  */
--      if (parts.index)
--      parts.index = force_gimple_operand_bsi (bsi, 
--                                              build2 (PLUS_EXPR, addr_type,
--                                                      parts.index,
--                                                      parts.offset),
--                                              true, NULL_TREE);
-+      /* Try adding offset to base.  */
-+      if (parts.base)
-+      {
-+        atype = TREE_TYPE (parts.base);
-+        parts.base = force_gimple_operand_bsi (bsi, 
-+                      fold_build2 (PLUS_EXPR, atype,
-+                                   parts.base,
-+                                   fold_convert (atype, parts.offset)),
-+                      true, NULL_TREE);
-+      }
-       else
--      parts.index = parts.offset, bsi;
-+      parts.base = parts.offset;
- 
-       parts.offset = NULL_TREE;
- 
-@@ -587,7 +671,7 @@
-      (only a register).  If we cannot create such a memory reference,
-      something is really wrong.  */
-   gcc_assert (parts.symbol == NULL_TREE);
--  gcc_assert (parts.base == NULL_TREE);
-+  gcc_assert (parts.index == NULL_TREE);
-   gcc_assert (!parts.step || integer_onep (parts.step));
-   gcc_assert (!parts.offset || integer_zerop (parts.offset));
-   gcc_unreachable ();
-@@ -632,8 +716,9 @@
-   if (addr.base && TREE_CODE (addr.base) == INTEGER_CST)
-     {
-       if (addr.offset)
--      addr.offset = fold_binary_to_constant (PLUS_EXPR, ptr_type_node,
--                                             addr.offset, addr.base);
-+      addr.offset = fold_binary_to_constant (PLUS_EXPR, sizetype,
-+                      addr.offset,
-+                      fold_convert (sizetype, addr.base));
-       else
-       addr.offset = addr.base;
- 
-@@ -646,14 +731,14 @@
-       off = addr.index;
-       if (addr.step)
-       {
--        off = fold_binary_to_constant (MULT_EXPR, ptr_type_node,
-+        off = fold_binary_to_constant (MULT_EXPR, sizetype,
-                                        off, addr.step);
-         addr.step = NULL_TREE;
-       }
- 
-       if (addr.offset)
-       {
--        addr.offset = fold_binary_to_constant (PLUS_EXPR, ptr_type_node,
-+        addr.offset = fold_binary_to_constant (PLUS_EXPR, sizetype,
-                                                addr.offset, off);
-       }
-       else
-diff -uNr gcc-4.2-20070123/gcc/tree.def gcc-4.2-20070123.pr29516/gcc/tree.def
---- gcc-4.2-20070123/gcc/tree.def      2006-10-21 01:50:37.000000000 -0400
-+++ gcc-4.2-20070123.pr29516/gcc/tree.def      2007-01-23 20:22:00.000000000 
-0500
-@@ -943,6 +943,9 @@
-    OFFSET (integer constant).  Corresponding address is
-    SYMBOL + BASE + STEP * INDEX + OFFSET.  Only variations and values valid on
-    the target are allowed.
-+
-+   The type of STEP, INDEX and OFFSET is sizetype.  The type of BASE is
-+   sizetype or a pointer type (if SYMBOL is NULL).
-    
-    The sixth argument is the reference to the original memory access, which
-    is preserved for the purposes of the RTL alias analysis.  The seventh
-
-                


-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Fink-commits mailing list
Fink-commits@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/fink-commits

Reply via email to