Go to file
J"orn Rennecke a6ab9fc087 re PR target/14798 (In case of SH target with -O2 option #pragma interrupt doesn't get resetted.)
PR target/14798:

gcc:
	* sh.c (pragma_interrupt, trap_exit, sp_switch): Remove variable.
	(pragma_trap, pragma_nosave_low_regs): Likewise.
	(current_function_anonymous_args): Likewise.
	(sh_deferred_function_attributes): New variable.
	(sh_deferred_function_attributes_tail): Likewise.
	(print_operand): For '@', look up trap_exit attribute.
	(calc_live_regs): Look up trapa_handler attribute.  For trapa
	handlers, save/restore fpscr, but don't do any other
	interrupt-specific saves.
	Don't save r0..r7 if the nosave_low_regs attribute is in effect.
	Fix check for partially saved registers to check for SHmedia.
	(sh_expand_prologue, sh_expand_epilogue): Look up sp_switch attribute.
	(sh_output_function_epilogue): Don't clear any of the removed
	variables.
	(sh_insert_attributes): Don't check pragma_interrupt.
	Insert deferred attributes.  Check that interrupt attribute is
	present for other attributes that require its presence.
	(sh_attribute_table): Add new attributes trapa_handler and
	nosave_low_regs.
	(sh_handle_sp_switch_attribute, sh_handle_trap_exit_attribute):
	Don't check for pragma_interrupt.  Don't store argument.
	* sh.h (pragma_interrupt, sp_switch): Don't declare.
	(sh_deferred_function_attributes): Declare.
	(sh_deferred_function_attributes_tail): Likewise.
	* sh.md (sp_switch_1): Add operand.  Change generator caller.
	(sh_pr_interrupt, sh_pr_trapa, sh_pr_nosave_low_regs): Remove.
	(*return_i): Don't use when trap_exit attribute is in effect.
	(*return_trapa): New insn pattern.
	* sh-c.c: New file.
	* config.gcc (sh[123456ble]*-* | sh-*-*): New trailer stanza,
	setting c_target_objs and cxx_target_objs.
	* t-sh: Add rule for sh-c.o.
gcc/testsuite:
	* gcc.dg/pragma-isr.c: Added target sh[1234ble]*-*-*.
	* gcc.dg/pragma-isr2.c, gcc.dg/pragma-isr-trapa.c: New tests.
	* gcc.dg/pragma-isr-trapa2.c: Likewise.
	* gcc.dg/pragma-isr-nosave_low_regs.c: Likewise.
	* gcc.dg/pragma-isr-trap_exit.c: Likewise.
	* gcc.dg/attr-isr.c, gcc.dg/attr-isr-trapa.c: Likewise.
	* gcc.dg/attr-isr-trap_exit.c: Likewise.
	* gcc.dg/attr-isr-nosave_low_regs.c: Likewise.

From-SVN: r110398
2006-01-30 15:07:43 +00:00
boehm-gc
config configure.in: Set with_gnu_as, with_gnu_ld, with_newlib earlier. 2006-01-26 18:52:49 +00:00
contrib
fastjar
fixincludes
gcc re PR target/14798 (In case of SH target with -O2 option #pragma interrupt doesn't get resetted.) 2006-01-30 15:07:43 +00:00
gnattools
include
INSTALL
intl
libada
libcpp
libdecnumber
libffi
libgfortran ChangeLog: Remove garbage text from one entry. 2006-01-29 22:17:22 +00:00
libgomp
libiberty configure.ac: Add -Wc++-compat to ac_libibety_warn_cflags where supported. 2006-01-29 16:31:08 +00:00
libjava
libmudflap
libobjc
libssp
libstdc++-v3 cinttypes: New. 2006-01-30 14:17:49 +00:00
maintainer-scripts
zlib
ABOUT-NLS
ChangeLog configure.in: Set with_gnu_as, with_gnu_ld, with_newlib earlier. 2006-01-26 18:52:49 +00:00
ChangeLog.tree-ssa
compile
config-ml.in
config.guess
config.rpath
config.sub
configure configure.in: Set with_gnu_as, with_gnu_ld, with_newlib earlier. 2006-01-26 18:52:49 +00:00
configure.in configure.in: Set with_gnu_as, with_gnu_ld, with_newlib earlier. 2006-01-26 18:52:49 +00:00
COPYING
COPYING.LIB
depcomp
install-sh
libtool-ldflags
libtool.m4
ltcf-c.sh
ltcf-cxx.sh
ltcf-gcj.sh
ltconfig
ltmain.sh
MAINTAINERS
Makefile.def
Makefile.in
Makefile.tpl
missing
mkdep
mkinstalldirs
move-if-change
README
README.SCO
symlink-tree
ylwrap

This directory contains the GNU Compiler Collection (GCC).

The GNU Compiler Collection is free software.  See the file COPYING
for copying permission.  The manuals, and some of the runtime
libraries, are under different terms; see the individual source files
for details.

The directory INSTALL contains copies of the installation information
as HTML and plain text.  The source of this information is
gcc/doc/install.texi.  The installation information includes details
of what is included in the GCC sources and what files GCC installs.

See the file gcc/doc/gcc.texi (together with other files that it
includes) for usage and porting information.  An online readable
version of the manual is in the files gcc/doc/gcc.info*.

See http://gcc.gnu.org/bugs.html for how to report bugs usefully.