]> gcc.gnu.org Git - gcc.git/commitdiff
calls.c (emit_library_call_value_1): Support INIT_CUMULATIVE_LIBCALL_ARGS.
authorAlexandre Oliva <aoliva@redhat.com>
Fri, 5 Jan 2001 07:38:47 +0000 (07:38 +0000)
committerAlexandre Oliva <aoliva@gcc.gnu.org>
Fri, 5 Jan 2001 07:38:47 +0000 (07:38 +0000)
* calls.c (emit_library_call_value_1): Support
INIT_CUMULATIVE_LIBCALL_ARGS.
* tm.texi (INIT_CUMULATIVE_LIBCALL_ARGS): Document it.

From-SVN: r38706

gcc/ChangeLog
gcc/calls.c
gcc/tm.texi

index 9f5680f0b3eb3b50d5af21b15ddb1add6310ab03..77a7f79b7c0f6d01fc793c77f358f46514d5ccde 100644 (file)
@@ -1,3 +1,9 @@
+2001-01-05  Alexandre Oliva  <aoliva@redhat.com>
+
+       * calls.c (emit_library_call_value_1): Support
+       INIT_CUMULATIVE_LIBCALL_ARGS.
+       * tm.texi (INIT_CUMULATIVE_LIBCALL_ARGS): Document it.
+
 2001-01-04  Richard Henderson  <rth@redhat.com>
 
        * c-decl.c (finish_struct): Detect flexible array members
index 95ff8b1e9dfb679e7f40a206b7870fbfe36aafa2..ab6c5bb40e8e68d702f15d974021e4049438aca1 100644 (file)
@@ -1,6 +1,6 @@
 /* Convert function calls to rtl insns, for GNU C compiler.
    Copyright (C) 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998
-   1999, 2000 Free Software Foundation, Inc.
+   1999, 2000, 2001 Free Software Foundation, Inc.
 
 This file is part of GNU CC.
 
@@ -3589,7 +3589,11 @@ emit_library_call_value_1 (retval, orgfun, value, fn_type, outmode, nargs, p)
   argvec = (struct arg *) alloca ((nargs + 1) * sizeof (struct arg));
   memset ((char *) argvec, 0, (nargs + 1) * sizeof (struct arg));
 
+#ifdef INIT_CUMULATIVE_LIBCALL_ARGS
+  INIT_CUMULATIVE_LIBCALL_ARGS (args_so_far, outmode, fun);
+#else
   INIT_CUMULATIVE_ARGS (args_so_far, NULL_TREE, fun, 0);
+#endif
 
   args_size.constant = 0;
   args_size.var = 0;
index 59b03eacb5b6bd44523e80e13f658acca360597e..795abac65a70f8d8e060d9d07cbb1afe385c175a 100644 (file)
@@ -3045,6 +3045,14 @@ an ordinary C function call is being processed.  Thus, each time this
 macro is called, either @var{libname} or @var{fntype} is nonzero, but
 never both of them at once.
 
+@findex INIT_CUMULATIVE_LIBCALL_ARGS
+@item INIT_CUMULATIVE_LIBCALL_ARGS (@var{cum}, @var{mode}, @var{libname})
+Like @code{INIT_CUMULATIVE_ARGS} but only used for outgoing libcalls,
+it gets a @code{MODE} argument instead of @var{fntype}, that would be
+@code{NULL}.  @var{indirect} would always be zero, too.  If this macro
+is not defined, @code{INIT_CUMULATIVE_ARGS (cum, NULL_RTX, libname,
+0)} is used instead.
+
 @findex INIT_CUMULATIVE_INCOMING_ARGS
 @item INIT_CUMULATIVE_INCOMING_ARGS (@var{cum}, @var{fntype}, @var{libname})
 Like @code{INIT_CUMULATIVE_ARGS} but overrides it for the purposes of
This page took 0.09571 seconds and 5 git commands to generate.