diff options
author | zack <zack@138bc75d-0d04-0410-961f-82ee72b054a4> | 2002-05-11 16:25:05 +0000 |
---|---|---|
committer | zack <zack@138bc75d-0d04-0410-961f-82ee72b054a4> | 2002-05-11 16:25:05 +0000 |
commit | edd2f2aec757fc4e8c1bae048a0735785eeb6443 (patch) | |
tree | 965a5479e4bfdccd120057916613030f604465fc /gcc/config.gcc | |
parent | 8a21fed413cd1fb67ba70fbac5d493ec573630a2 (diff) | |
download | gcc-edd2f2aec757fc4e8c1bae048a0735785eeb6443.tar.gz |
* config/rs6000/rs6000.c (rs6000_default_long_calls,
rs6000_longcall_switch, rs6000_set_default_type_attributes): New.
(TARGET_SET_DEFAULT_TYPE_ATTRIBUTES): Set it.
(rs6000_override_options): Handle -m(no-)longcall.
(init_cumulative_args, output_mi_thunk): Check for both
longcall and shortcall attributes on the function.
(rs6000_attribute_table): Add "shortcall".
(rs6000_handle_longcall_attribute): Update comment.
(altivec_expand_unop_builtin, altivec_expand_binop_builtin,
altivec_expand_ternop_builtin): Add default clauses to switches
to silence warnings.
* config/rs6000/rs6000.h: Declare rs6000_longcall_switch and
rs6000_default_long_calls. Define REGISTER_TARGET_PRAGMAS.
(TARGET_OPTIONS): Add longcall and no-longcall.
* config/rs6000/rs6000.md (call_nonlocal_sysv,
call_value_nonlocal_sysv): Split by alternatives. One pair
accepts only SYMBOL_REFs and rejects if CALL_LONG is set in
the call cookie. The other pair accepts only LR/CTR and has
no restriction.
* config.gcc (rs6000-*-* | powerpc*-*-* trailer stanza):
Set c_target_objs, cxx_target_objs; add t-rs6000-c-rule to
tmake_file.
* config/rs6000/rs6000-c.c: New file.
* config/rs6000/t-rs6000-c-rule: New file.
* config/rs6000/rs6000-protos.c: Add multiple-include guard.
Prototype rs6000_pragma_longcall.
* doc/extend.texi: Document shortcall attribute.
* doc/invoke.texi: Document -mlongcall, -mno-longcall.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@53382 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config.gcc')
-rw-r--r-- | gcc/config.gcc | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/config.gcc b/gcc/config.gcc index 15038c54769..e6c268c1aec 100644 --- a/gcc/config.gcc +++ b/gcc/config.gcc @@ -3650,6 +3650,9 @@ powerpc*-*-* | rs6000-*-*) fi ;; esac + c_target_objs="rs6000-c.o" + cxx_target_objs="rs6000-c.o" + tmake_file="${tmake_file} rs6000/t-rs6000-c-rule" ;; sparc*-*-*) case ".$with_cpu" in |