a157febd0c
* 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 |
||
---|---|---|
.. | ||
1750a | ||
a29k | ||
alpha | ||
arc | ||
arm | ||
c4x | ||
clipper | ||
convex | ||
dsp16xx | ||
elxsi | ||
fr30 | ||
fx80 | ||
gmicro | ||
h8300 | ||
i370 | ||
i386 | ||
i860 | ||
i960 | ||
m32r | ||
m68k | ||
m88k | ||
mips | ||
mn10200 | ||
mn10300 | ||
msdos | ||
ns32k | ||
pa | ||
pdp11 | ||
pyr | ||
romp | ||
rs6000 | ||
sh | ||
sparc | ||
spur | ||
tahoe | ||
v850 | ||
vax | ||
we32k | ||
winnt | ||
aoutos.h | ||
dbx.h | ||
dbxcoff.h | ||
dbxelf.h | ||
elfos.h | ||
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 | ||
freebsd.h | ||
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 | ||
openbsd.h | ||
psos.h | ||
ptx4.h | ||
README | ||
svr3.h | ||
svr4.h | ||
t-freebsd | ||
t-freebsd-thread | ||
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.