hasting2    02/08/30 09:34:26

  Modified:    gcc      Tag: dizzy-kitty-branch expr.c
  Log:
  Fix for 3015029.  Will be superceded by FSF/rth patch on 29aug2002.
  
  Revision  Changes    Path
  No                   revision
  
  
  No                   revision
  
  
  1.50.8.1  +12 -0     gcc3/gcc/expr.c
  
  Index: expr.c
  ===================================================================
  RCS file: /cvs/Darwin/gcc3/gcc/expr.c,v
  retrieving revision 1.50
  retrieving revision 1.50.8.1
  diff -u -r1.50 -r1.50.8.1
  --- expr.c    2002/05/14 00:48:04     1.50
  +++ expr.c    2002/08/30 16:34:25     1.50.8.1
  @@ -3359,6 +3359,8 @@
   #endif /* PUSH_ROUNDING  */
        {
          rtx target;
  +       /* APPLE LOCAL passing big structs by value */
  +       int saved_ACCUMULATE_OUTGOING_ARGS;
   
          /* Otherwise make space on the stack and copy the data
             to the address of that space.  */
  @@ -3458,6 +3460,11 @@
                }
            }
   
  +       /* APPLE LOCAL start passing big structs by value */
  +       saved_ACCUMULATE_OUTGOING_ARGS = ACCUMULATE_OUTGOING_ARGS;
  +       target_flags &= ~MASK_ACCUMULATE_OUTGOING_ARGS;
  +       /* APPLE LOCAL end passing big structs by value */
  +
          if (!ACCUMULATE_OUTGOING_ARGS)
            {
              /* If the source is referenced relative to the stack pointer,
  @@ -3487,6 +3494,11 @@
                             TYPE_MODE (integer_type_node));
   #endif
          OK_DEFER_POP;
  +
  +       /* APPLE LOCAL start passing big structs by value */
  +       if (saved_ACCUMULATE_OUTGOING_ARGS)
  +         target_flags |= MASK_ACCUMULATE_OUTGOING_ARGS;
  +       /* APPLE LOCAL end passing big structs by value */
        }
       }
     else if (partial > 0)
  
  
  


Reply via email to