diff options
author | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 1999-07-26 01:21:03 +0000 |
---|---|---|
committer | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 1999-07-26 01:21:03 +0000 |
commit | a66c9326b2d7b71c9cd97aceb1f9a1f317976e39 (patch) | |
tree | 8fa42459376747733591714ae5bc7de26ab8671f /gcc/tm.texi | |
parent | bbcca9ce45999951f6473bf61fd40c0d43bcde60 (diff) | |
download | gcc-a66c9326b2d7b71c9cd97aceb1f9a1f317976e39.tar.gz |
* builtins.c (expand_builtin_saveregs): Remove static, remove exp
and ignore arguments, bail if no EXPAND_BUILTIN_SAVEREGS.
(expand_builtin_next_arg): Accept ARGLIST not EXP.
(stabilize_va_list): New function.
(std_expand_builtin_va_start): New function.
(expand_builtin_va_start): New function.
(get_varargs_alias_set): New function.
(std_expand_builtin_va_arg): New function.
(expand_builtin_va_arg): New function.
(expand_builtin_va_end): New function.
(expand_builtin_va_copy): New function.
(expand_builtin): Call them.
* c-common.c (c_common_nodes_and_builtins): Build __builtin_va_list,
__builtin_{varargs_start,stdarg_start,end,copy}.
(build_va_arg): New function.
* c-common.h (CTI_PTR_TYPE, ptr_type_node): Delete.
(build_va_arg): Declare.
* c-decl.c (ptr_type_node, va_list_type_node): New.
* c-parse.gperf (__builtin_va_arg): New.
* c-parse.in (VA_ARG): New token.
(unary_expr): Recognize it.
* expr.c (expand_expr): Expand VA_ARG_EXPR.
* expr.h (std_expand_builtin_va_start): Declare.
(std_expand_builtin_va_arg): Declare.
(expand_builtin_va_arg): Declare.
(get_varargs_alias_set): Declare.
* tree.def (VA_ARG_EXPR): New.
* tree.h (BUILT_IN_VARARGS_START): New.
(BUILT_IN_STDARG_START, BUILT_IN_VA_END): New.
(ptr_type_node, va_list_type_node): Declare.
* tm.texi (EXPAND_BUILTIN_SAVEREGS): Kill unused ARGLIST argument.
* m32r.h (EXPAND_BUILTIN_SAVEREGS): Likewise.
* m88k.h, m88k.c: Likewise.
* mn10300.h, mn10300.c: Likewise.
* pa.h, pa.c: Likewise.
* rs6000.h, rs6000.c: Likewise.
* sh.h, sh.c: Likewise.
* sparc.h, sparc.c: Likewise.
* emit-rtl.c (operand_subword): Copy alias set.
(change_address): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@28243 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tm.texi')
-rw-r--r-- | gcc/tm.texi | 8 |
1 files changed, 1 insertions, 7 deletions
diff --git a/gcc/tm.texi b/gcc/tm.texi index a44c27bc5a2..736ba4a2732 100644 --- a/gcc/tm.texi +++ b/gcc/tm.texi @@ -3734,19 +3734,13 @@ These machine description macros help implement varargs: @table @code @findex EXPAND_BUILTIN_SAVEREGS -@item EXPAND_BUILTIN_SAVEREGS (@var{args}) +@item EXPAND_BUILTIN_SAVEREGS () If defined, is a C expression that produces the machine-specific code for a call to @code{__builtin_saveregs}. This code will be moved to the very beginning of the function, before any parameter access are made. The return value of this function should be an RTX that contains the value to use as the return of @code{__builtin_saveregs}. -The argument @var{args} is a @code{tree_list} containing the arguments -that were passed to @code{__builtin_saveregs}. - -If this macro is not defined, the compiler will output an ordinary -call to the library function @samp{__builtin_saveregs}. - @findex SETUP_INCOMING_VARARGS @item SETUP_INCOMING_VARARGS (@var{args_so_far}, @var{mode}, @var{type}, @var{pretend_args_size}, @var{second_time}) This macro offers an alternative to using @code{__builtin_saveregs} and |