johannes    03/01/08 17:53:46

  Modified:    live/gcc3/gcc function.c
               live/gcc3/gcc/config/rs6000 rs6000.c
  Log:
  roll in fix from FSF, fixes part of 3124973 (more is required)
  
  Revision  Changes    Path
  1.53      +7 -1      src/live/gcc3/gcc/function.c
  
  Index: function.c
  ===================================================================
  RCS file: /cvs/Darwin/src/live/gcc3/gcc/function.c,v
  retrieving revision 1.52
  retrieving revision 1.53
  diff -u -r1.52 -r1.53
  --- function.c        2002/12/18 00:31:55     1.52
  +++ function.c        2003/01/09 01:53:38     1.53
  @@ -4599,6 +4599,12 @@
   
          if (nregs > 0)
            {
  +#if defined (REG_PARM_STACK_SPACE) && !defined (MAYBE_REG_PARM_STACK_SPACE)
  +           /* When REG_PARM_STACK_SPACE is nonzero, stack space for
  +              split parameters was allocated by our caller, so we
  +              won't be pushing it in the prolog.  */
  +           if (REG_PARM_STACK_SPACE (fndecl) == 0)
  +#endif
              current_function_pretend_args_size
                = (((nregs * UNITS_PER_WORD) + (PARM_BOUNDARY / BITS_PER_UNIT) - 1)
                   / (PARM_BOUNDARY / BITS_PER_UNIT)
  @@ -4758,7 +4764,7 @@
              if (GET_CODE (entry_parm) == PARALLEL)
                emit_group_store (validize_mem (stack_parm), entry_parm,
                                  int_size_in_bytes (TREE_TYPE (parm)));
  -           else
  +           else
                move_block_from_reg (REGNO (entry_parm),
                                     validize_mem (stack_parm),
                                     size_stored / UNITS_PER_WORD,
  
  
  
  1.184     +1 -4      src/live/gcc3/gcc/config/rs6000/rs6000.c
  
  Index: rs6000.c
  ===================================================================
  RCS file: /cvs/Darwin/src/live/gcc3/gcc/config/rs6000/rs6000.c,v
  retrieving revision 1.183
  retrieving revision 1.184
  diff -u -r1.183 -r1.184
  --- rs6000.c  2003/01/04 01:12:23     1.183
  +++ rs6000.c  2003/01/09 01:53:41     1.184
  @@ -4801,7 +4801,7 @@
        CUMULATIVE_ARGS *cum;
        enum machine_mode mode;
        tree type;
  -     int *pretend_size;
  +     int *pretend_size ATTRIBUTE_UNUSED;
        int no_rtl;
   
   {
  @@ -4865,9 +4865,6 @@
        (GP_ARG_MIN_REG + first_reg_offset, mem,
         GP_ARG_NUM_REG - first_reg_offset,
         (GP_ARG_NUM_REG - first_reg_offset) * UNITS_PER_WORD);
  -
  -      /* ??? Does ABI_V4 need this at all?  */
  -      *pretend_size = (GP_ARG_NUM_REG - first_reg_offset) * UNITS_PER_WORD;
       }
   
     /* Save FP registers if needed.  */
  
  
  


Reply via email to