8sa1-gcc/gcc/config
Geoff Keating a157febd0c c-common.c (enum attrs): Add A_NO_LIMIT_STACK.
* c-common.c (enum attrs): Add A_NO_LIMIT_STACK.
(init_attributes): Add A_NO_LIMIT_STACK.
(decl_attributes): Handle A_NO_LIMIT_STACK.
* c-decl.c (duplicate_decls): Handle DECL_NO_LIMIT_STACK.
* explow.c (allocate_dynamic_stack_space) [!HAVE_allocate_stack]:
Handle stack bounds checking.
* flags.h (flag_stack_check): Use the word 'probe' rather than
'check', because the flag doesn't actually cause any checking to
be done.
* function.c (expand_function_start): Set
current_function_limit_stack.
* function.h (struct function): Add limit_stack.
(current_function_limit_stack): Define.
* invoke.texi (Code Gen Options): Document new options.
* rtl.h: Declare stack_limit_rtx.
* toplev.c (stack_limit_rtx): New variable.
(decode_f_option): Handle new options -fstack-limit-register=REG,
-fstack-limit-symbol=IDENT, -fno-stack-limit.
(main): Add stack_limit_rtx as GC root.
* tree.h (DECL_NO_LIMIT_STACK): New macro.
(struct tree_decl): New member no_limit_stack.

* config/rs6000/rs6000.c (rs6000_allocate_stack_space): Handle
stack_limit_rtx.
* config/rs6000/rs6000.md (allocate_stack): Handle stack_limit_rtx.
(conditional_trap+1): Get new mnemonic correct.
(conditional_trap+2): New pattern for DImode traps.

* config/m68k/m68k.c (output_function_prologue): Handle
stack_limit_rtx.
* config/m68k/m68k.md (trap): New insn.
(conditional_trap): New insn.
* md.texi (Standard Names): Document `trap' and
`conditional_trap'.
* optabs.c (gen_cond_trap): Use start_sequence()/end_sequence()
so a cc0 setter doesn't get emitted at some random place in the
function.

* config/i960/i960.md (trap): New insn.
(conditional_trap): New expander.
(conditional_trap+1, conditional_trap+2): New insns for signed
and unsigned cases.
* config/i960/i960.c (i960_function_prologue): Use
STARTING_FRAME_OFFSET.  Handle stack_limit_rtx.

Co-Authored-By: Greg McGary <gkm@gnu.org>

From-SVN: r30771
1999-12-04 03:00:04 +00:00
..
1750a
a29k hard-reg-set.h (reg_names): Constify a char*. 1999-11-01 01:47:41 +00:00
alpha Delete useless patterns 1999-11-29 11:06:51 +00:00
arc hard-reg-set.h (reg_names): Constify a char*. 1999-11-01 01:47:41 +00:00
arm Rename -mshort-load-bytes switch to -malignment-traps 1999-11-21 16:11:20 +00:00
c4x c4x-protos.h: New file. 1999-11-09 22:56:56 +00:00
clipper
convex
dsp16xx output.h (ctors_section, [...]): Prototype. 1999-10-24 19:38:53 +00:00
elxsi hard-reg-set.h (reg_names): Constify a char*. 1999-11-01 01:47:41 +00:00
fr30 Prototypes for functions defined in target C source files. 1999-11-08 15:43:31 +00:00
fx80
gmicro Delete obsolete macros 1999-11-30 12:16:56 +00:00
h8300
i370 Based on patch from Michael Gschwind <mikeg@watson.ibm.com>: 1999-10-15 11:07:48 -07:00
i386 i386.md (extend?f?f2): Force the input into a register, not the output. 1999-12-02 02:17:30 -07:00
i860
i960 c-common.c (enum attrs): Add A_NO_LIMIT_STACK. 1999-12-04 03:00:04 +00:00
m32r Add prototype header file 1999-11-09 15:07:07 +00:00
m68k c-common.c (enum attrs): Add A_NO_LIMIT_STACK. 1999-12-04 03:00:04 +00:00
m88k Delete obsolete macros 1999-11-30 12:16:56 +00:00
mips elf.h (STARTFILE_SPEC): Add no-crt0. 1999-12-01 19:50:46 +00:00
mn10200 Fix psimode truncation patterns to not accept MEMs that are not valid for 1999-11-30 11:05:05 +00:00
mn10300 mn10300.c (REG_SAVE_BYTES): Allocate space for AM33 registers. 1999-12-01 17:21:59 -07:00
msdos
ns32k
pa * pa.md (reload shift-add patterns): Remove. 1999-11-28 13:24:48 -07:00
pdp11
pyr
romp
rs6000 c-common.c (enum attrs): Add A_NO_LIMIT_STACK. 1999-12-04 03:00:04 +00:00
sh sh.h (SECONDARY_OUTPUT_RELOAD_CLASS): Add the case where we need to reload fpul from a system register. 1999-11-24 18:57:08 +00:00
sparc sparc.md (movsf_const_intreg): Add constraints for regclass' sake. 1999-12-01 16:38:56 -08:00
spur
tahoe
v850 Prototypes for functions defined in target C source files. 1999-11-08 15:43:31 +00:00
vax
we32k
winnt
aoutos.h
dbx.h
dbxcoff.h
dbxelf.h
elfos.h elfos.h (ASM_DECLARE_FUNCTION_NAME): Conditionally define. 1999-11-07 20:46:20 -05:00
float-i32.h
float-i64.h
float-i128.h
float-i386.h
float-m68k.h
float-sh.h
float-sparc.h
float-vax.h
fp-bit.c remove compile time warnings about uninitilaised fileds 1999-12-02 10:53:39 +00:00
freebsd.h freebsd.h: New, FreeBSD architecture independent file. 1999-11-22 23:17:32 -07:00
gnu.h
gofast.h
interix.h
libgloss.h
linux-aout.h
linux.h
lynx-ng.h
lynx.h
netbsd.h
nextstep21.h
nextstep.c
nextstep.h output.h (ctors_section, [...]): Prototype. 1999-10-24 19:38:53 +00:00
openbsd.h
psos.h output.h (ctors_section, [...]): Prototype. 1999-10-24 19:38:53 +00:00
ptx4.h output.h (ctors_section, [...]): Prototype. 1999-10-24 19:38:53 +00:00
README
svr3.h output.h (ctors_section, [...]): Prototype. 1999-10-24 19:38:53 +00:00
svr4.h output.h (const_section, [...]): Add prototypes. 1999-11-12 18:47:03 +00:00
t-freebsd
t-freebsd-thread configure.in: Handle libgcc2 threads support on FreeBSD platforms. 1999-11-15 02:11:42 -07:00
t-gnu
t-install-cpp
t-libc-ok
t-linux
t-linux-aout
t-linux-gnulibc1
t-netbsd
t-openbsd
t-openbsd-thread
t-rtems
t-svr4
tm-dwarf2.h
x-interix
x-linux
x-linux-aout
x-lynx
x-svr4
xm-alloca.h
xm-freebsd.h
xm-gnu.h
xm-interix.h
xm-linux.h
xm-lynx.h
xm-openbsd.h
xm-siglist.h
xm-std32.h
xm-svr3.h
xm-svr4.h

This directory contains machine-specific files for the GNU C compiler.
It has a subdirectory for each basic CPU type.
The only files in this directory itself
are some .h files that pertain to particular operating systems
and are used for more than one CPU type.