diff options
author | zack <zack@138bc75d-0d04-0410-961f-82ee72b054a4> | 2002-07-16 02:16:47 +0000 |
---|---|---|
committer | zack <zack@138bc75d-0d04-0410-961f-82ee72b054a4> | 2002-07-16 02:16:47 +0000 |
commit | 7ccc713a1f28ef9a1206745ceba153374cdd6f7a (patch) | |
tree | 01f97dd69fbdd80f44d832c9dc5b8a6a0aa6c26d /gcc/config/s390 | |
parent | 44e8a86043be6633df299e293ea58fabd33fe37e (diff) | |
download | gcc-7ccc713a1f28ef9a1206745ceba153374cdd6f7a.tar.gz |
* ginclude/varargs.h: Replace with stub which issues #error.
* ginclude/stdarg.h: __builtin_stdarg_start is renamed
__builtin_va_start.
* builtins.def (BUILT_IN_VARARGS_START): Delete.
(BUILT_IN_VA_START): New.
* builtins.c (expand_builtin_va_start): Eliminate first
argument and code to implement pre-ISO varargs.
(std_expand_builtin_va_start): Ignore first argument; it is
always 1.
(expand_builtin): Handle BUILT_IN_VA_START and
BUILT_IN_STDARG_START identically. Delete
BUILT_IN_VARARGS_START case.
* function.c (assign_parms): Delete hide_last_arg and all
its uses.
(mark_varargs): Delete function.
* function.h (struct function): Delete 'varargs' bit.
(current_function_varargs): Delete macro.
* tree.h: Don't declare mark_varargs.
* c-decl.c (c_function_varargs, c_mark_varargs): Delete.
(c_expand_body): Don't call mark_varargs.
* c-objc-common.c: Handle BUILT_IN_VA_START and
BUILT_IN_STDARG_START identically. Delete
BUILT_IN_VARARGS_START case.
* c-tree.h: Don't declare c_mark_varargs.
* c-parse.in: Remove grammar rules for '&...' (which has been
commented out since before 2.7.2) and for '...' in K+R
argument declarations.
* builtins.c, function.c, integrate.c, sibcall.c,
config/alpha/unicosmk.h, config/arc/arc.c, config/arc/arc.h,
config/avr/avr.c, config/cris/cris.c, config/fr30/fr30.c,
config/i960/i960.c, config/i960/i960.md, config/m32r/m32r.c,
config/m32r/m32r.h, config/m88k/m88k.c, config/m88k/m88k.h,
config/mips/mips.c, config/mmix/mmix.c, config/mmix/mmix.h,
config/mn10300/mn10300.c, config/pa/som.h, config/s390/s390.c,
config/sh/sh.c, config/sh/sh.h, config/sparc/sparc.h,
config/stormy16/stormy16.c: Delete all references to
current_function_varargs, and code predicated on that flag.
* config/alpha/alpha.c (alpha_va_start),
config/arc/arc.c (arc_va_start),
config/i386/i386.c (ix86_va_start),
config/mips/mips.c (mips_va_start),
config/mn10300/mn10300.c (mn10300_va_start),
config/rs6000/rs6000.c (rs6000_va_start),
config/s390/s390.c (s390_va_start),
config/sh/sh.c (sh_va_start),
Ignore first argument; it is always 1.
* config/c4x/c4x-protos.h, config/c4x/c4x.c: Delete c4x_va_start.
* config/ia64/ia64-protos.h, config/ia64/ia64.c: Delete ia64_va_start.
* config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c:
Delete m68hc11_va_start.
* config/c4x/c4x.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h:
No need to define EXPAND_BUILTIN_VA_START.
* doc/invoke.texi, doc/sourcebuild.texi, doc/tm.texi,
doc/trouble.texi: Remove references to GCC-provided <varargs.h>.
testsuite:
* c-torture/execute/991216-3.c, c-torture/execute/strct-varg-1.c,
c-torture/execute/va-arg-7.c, c-torture/execute/va-arg-8.c,
c-torture/execute/va-arg-15.c, c-torture/execute/va-arg-16.c,
c-torture/execute/va-arg-17.c, c-torture/execute/va-arg-19.c:
Convert to use <stdarg.h>.
* c-torture/execute/va-arg-3.c, c-torture/execute/va-arg-3.x:
Delete.
* gcc.dg/va-arg-2.c: New.
* lib/gcc.exp, lib/objc.exp: Remove code to set -DNO_VARARGS.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@55472 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/s390')
-rw-r--r-- | gcc/config/s390/s390.c | 16 |
1 files changed, 6 insertions, 10 deletions
diff --git a/gcc/config/s390/s390.c b/gcc/config/s390/s390.c index 3c200b0972d..cf1edd2ba53 100644 --- a/gcc/config/s390/s390.c +++ b/gcc/config/s390/s390.c @@ -3201,8 +3201,7 @@ s390_frame_info (frame) if (! current_function_is_leaf || frame->frame_size > 0 || current_function_calls_alloca - || current_function_stdarg - || current_function_varargs) + || current_function_stdarg) frame->frame_size += STARTING_FRAME_OFFSET; /* If we need to allocate a frame, the stack pointer is changed. */ @@ -3260,7 +3259,7 @@ s390_frame_info (frame) frame->return_reg_saved_p = (j >= RETURN_REGNUM && i <= RETURN_REGNUM); } - if (current_function_stdarg || current_function_varargs) + if (current_function_stdarg) { /* Varargs function need to save from gpr 2 to gpr 15. */ frame->first_save_gpr = 2; @@ -3435,7 +3434,7 @@ s390_emit_prologue () /* Save fprs for variable args. */ - if (current_function_stdarg || current_function_varargs) + if (current_function_stdarg) { /* Save fpr 0 and 2. */ @@ -3950,9 +3949,8 @@ s390_build_va_list () } /* Implement va_start by filling the va_list structure VALIST. - STDARG_P is true if implementing __builtin_stdarg_va_start, - false if implementing __builtin_varargs_va_start. NEXTARG - points to the first anonymous stack argument. + STDARG_P is always true, and ignored. + NEXTARG points to the first anonymous stack argument. The following global variables are used to initialize the va_list structure: @@ -3965,7 +3963,7 @@ s390_build_va_list () void s390_va_start (stdarg_p, valist, nextarg) - int stdarg_p; + int stdarg_p ATTRIBUTE_UNUSED; tree valist; rtx nextarg ATTRIBUTE_UNUSED; { @@ -4003,8 +4001,6 @@ s390_va_start (stdarg_p, valist, nextarg) off = INTVAL (current_function_arg_offset_rtx); off = off < 0 ? 0 : off; - if (! stdarg_p) - off = off > 0 ? off - UNITS_PER_WORD : off; if (TARGET_DEBUG_ARG) fprintf (stderr, "va_start: n_gpr = %d, n_fpr = %d off %d\n", (int)n_gpr, (int)n_fpr, off); |