9a6dfb4739
gcc/ 2007-09-13 Richard Sandiford <richard@codesourcery.com> Sandra Loosemore <sandra@codesourcery.com> * config/mips/mips.h (SYMBOL_FLAG_MIPS16_FUNC): Delete. (SYMBOL_REF_MIPS16_FUNC_P): Delete. * config/mips/mips.c (mips_attribute_table): Turn mips16 and nomips16 into decl attributes. (TARGET_INSERT_ATTRIBUTES): Override. (TARGET_MERGE_DECL_ATTRIBUTES): Likewise. (TARGET_FUNCTION_ATTRIBUTE_INLINABLE_P): Always return true. (mips_mips16_type_p, mips_nomips16_type_p): Delete in favor of... (mips_mips16_decl_p, mips_nomips16_decl_p): ...these new functions. (mips_comp_type_attributes): Remove mips16 and nomips16 handling. (mips_use_mips16_mode_p): Reimplement as a function that takes a decl and considers only decl attributes. If the decl is nested function, use its parent attributes. (mips_function_ok_for_sibcall): Use mips_use_mips16_mode_p instead of SYMBOL_REF_MIPS16_FUNC_P. (mips_set_mips16_mode): Move call to sorry here from old mips_use_mips16_mode_p. (mflip_mips16_entry): New structure. (mflip_mips16_htab): New variable. (mflip_mips16_htab_hash, mflip_mips16_htab_eq): New functions. (mflip_mips16_use_mips16_p, mips_insert_attributes): Likewise. (mips_merge_decl_attributes): New function. (mips_set_current_function): Reinstate call to mips_set_mips16_mode. Use mips_use_mips16_mode_p. (mips_output_mi_thunk): Use mips_use_mips16_mode_p instead of SYMBOL_REF_MIPS16_FUNC_P. (mips_encode_section_info): Don't set SYMBOL_FLAG_MIPS16_FUNC. gcc/testsuite/ * gcc.dg/gcc-have-sync-compare-and-swap.c: Skip for -mflip-mips16. * gcc.target/mips/mips16-attributes-2.c: New test. * gcc.target/mips/mips16-attributes-3.c: Likewise. * gcc.target/mips/args-3.c: Skip for -mflip-mips16. Do not use the hard-float asm when __mips16 is defined. * gcc.target/mips/atomic-memory-1.c (main): Add a nomips16 attribute. * gcc.target/mips/atomic-memory-2.c (main): Likewise. * gcc.target/mips/fpcmp-1.c (f1, f2): Likewise. * gcc.target/mips/fpcmp-2.c (f1, f2): Likewise. * gcc.target/mips/neg-abs-1.c (f1, f2, d1, f2): Likewise. * gcc.target/mips/pr26765.c (foo): Likewise. * gcc.target/mips/gcc-have-sync-compare-and-swap-1.c: Run for all targets, use dg-mips-options instead of dg-options, and use -mgp32 to force 32-bit mode. * gcc.target/mips/gcc-have-sync-compare-and-swap-2.c: Likewise -mgp64 and 64-bit mode. * gcc.target/mips/mips.exp (is_gp32_flag): Return true for -mips32*. Co-Authored-By: Sandra Loosemore <sandra@codesourcery.com> From-SVN: r128460 |
||
---|---|---|
boehm-gc | ||
config | ||
contrib | ||
fixincludes | ||
gcc | ||
gnattools | ||
include | ||
INSTALL | ||
intl | ||
libada | ||
libcpp | ||
libdecnumber | ||
libffi | ||
libgcc | ||
libgfortran | ||
libgomp | ||
libiberty | ||
libjava | ||
libmudflap | ||
libobjc | ||
libssp | ||
libstdc++-v3 | ||
maintainer-scripts | ||
zlib | ||
ABOUT-NLS | ||
ChangeLog | ||
ChangeLog.tree-ssa | ||
compile | ||
config-ml.in | ||
config.guess | ||
config.rpath | ||
config.sub | ||
configure | ||
configure.ac | ||
COPYING | ||
COPYING3 | ||
COPYING3.LIB | ||
COPYING.LIB | ||
depcomp | ||
install-sh | ||
libtool-ldflags | ||
libtool.m4 | ||
lt~obsolete.m4 | ||
ltgcc.m4 | ||
ltmain.sh | ||
ltoptions.m4 | ||
ltsugar.m4 | ||
ltversion.m4 | ||
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.