calls.c (initialize_argument_info): Accept a pointer to CUMULATIVE_ARGS.
authorJeffrey A Law <law@cygnus.com>
Mon, 8 Mar 1999 21:57:56 +0000 (21:57 +0000)
committerJeff Law <law@gcc.gnu.org>
Mon, 8 Mar 1999 21:57:56 +0000 (14:57 -0700)
        * calls.c (initialize_argument_info): Accept a pointer to
        CUMULATIVE_ARGS.
        (expand_call): Pass the address of CUMULATIVE_ARGS.

From-SVN: r25646

gcc/ChangeLog
gcc/calls.c

index 877b1e5..d70c60f 100644 (file)
@@ -12,6 +12,10 @@ Mon Mar  8 16:04:44 1999  Jim Wilson  <wilson@cygnus.com>
 
 Mon Mar  8 15:27:42 1999  Jeffrey A Law  (law@cygnus.com)
 
+       * calls.c (initialize_argument_info): Accept a pointer to 
+       CUMULATIVE_ARGS.
+       (expand_call): Pass the address of CUMULATIVE_ARGS.
+
        * rs6000/xm-sysv4.h (HOST_BITS_PER_LONGLONG): Remove #if 0.
 
        * mn10300.h (CASE_DROPS_THROUGH): Delete.
index 86a87ff..8ed310d 100644 (file)
@@ -149,7 +149,7 @@ static void initialize_argument_information PROTO ((int,
                                                        struct arg_data *,
                                                        struct args_size *,
                                                        int, tree, tree,
-                                                       CUMULATIVE_ARGS,
+                                                       CUMULATIVE_ARGS *,
                                                        int, rtx *, int *,
                                                        int *, int *));
 
@@ -869,7 +869,7 @@ initialize_argument_information (num_actuals, args, args_size, n_named_args,
      int n_named_args;
      tree actparms;
      tree fndecl;
-     CUMULATIVE_ARGS args_so_far;
+     CUMULATIVE_ARGS *args_so_far;
      int reg_parm_stack_space;
      rtx *old_stack_level;
      int *old_pending_adj;
@@ -938,7 +938,7 @@ initialize_argument_information (num_actuals, args, args_size, n_named_args,
           && contains_placeholder_p (TYPE_SIZE (type)))
          || TREE_ADDRESSABLE (type)
 #ifdef FUNCTION_ARG_PASS_BY_REFERENCE
-         || FUNCTION_ARG_PASS_BY_REFERENCE (args_so_far, TYPE_MODE (type),
+         || FUNCTION_ARG_PASS_BY_REFERENCE (*args_so_far, TYPE_MODE (type),
                                             type, argpos < n_named_args)
 #endif
          )
@@ -947,7 +947,7 @@ initialize_argument_information (num_actuals, args, args_size, n_named_args,
              references instead of making a copy.  */
          if (current_function_is_thunk
 #ifdef FUNCTION_ARG_CALLEE_COPIES
-             || (FUNCTION_ARG_CALLEE_COPIES (args_so_far, TYPE_MODE (type),
+             || (FUNCTION_ARG_CALLEE_COPIES (*args_so_far, TYPE_MODE (type),
                                             type, argpos < n_named_args)
                  /* If it's in a register, we must make a copy of it too.  */
                  /* ??? Is this a sufficient test?  Is there a better one? */
@@ -1034,12 +1034,12 @@ initialize_argument_information (num_actuals, args, args_size, n_named_args,
 
       args[i].unsignedp = unsignedp;
       args[i].mode = mode;
-      args[i].reg = FUNCTION_ARG (args_so_far, mode, type,
+      args[i].reg = FUNCTION_ARG (*args_so_far, mode, type,
                                  argpos < n_named_args);
 #ifdef FUNCTION_ARG_PARTIAL_NREGS
       if (args[i].reg)
        args[i].partial
-         = FUNCTION_ARG_PARTIAL_NREGS (args_so_far, mode, type,
+         = FUNCTION_ARG_PARTIAL_NREGS (*args_so_far, mode, type,
                                        argpos < n_named_args);
 #endif
 
@@ -1113,7 +1113,7 @@ initialize_argument_information (num_actuals, args, args_size, n_named_args,
       /* Increment ARGS_SO_FAR, which has info about which arg-registers
         have been used, etc.  */
 
-      FUNCTION_ARG_ADVANCE (args_so_far, TYPE_MODE (type), type,
+      FUNCTION_ARG_ADVANCE (*args_so_far, TYPE_MODE (type), type,
                            argpos < n_named_args);
     }
 }
@@ -1761,7 +1761,7 @@ expand_call (exp, target, ignore)
   /* Build up entries inthe ARGS array, compute the size of the arguments
      into ARGS_SIZE, etc.  */
   initialize_argument_information (num_actuals, args, &args_size, n_named_args,
-                                  actparms, fndecl, args_so_far,
+                                  actparms, fndecl, &args_so_far,
                                   reg_parm_stack_space, &old_stack_level,
                                   &old_pending_adj, &must_preallocate,
                                   &is_const);