summaryrefslogtreecommitdiff
path: root/gcc/target.def
diff options
context:
space:
mode:
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2014-11-19 13:30:34 +0000
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2014-11-19 13:30:34 +0000
commit8d54d6a02be288addf25cba1c3e053de6c019de3 (patch)
treead9460795e6afe6279fd142b74f0096d38d6fcc3 /gcc/target.def
parent9d06a15ba84f1243ec37d8ce55d166c12786f4a2 (diff)
downloadgcc-8d54d6a02be288addf25cba1c3e053de6c019de3.tar.gz
Make TARGET_STATIC_CHAIN allow a function type
As opposed to always being a decl. This is a prerequisite to allowing the static chain to be loaded for indirect calls. * targhooks.c (default_static_chain): Remove check for DECL_STATIC_CHAIN. * config/moxie/moxie.c (moxie_static_chain): Likewise. * config/i386/i386.c (ix86_static_chain): Allow decl or type as the first argument. * config/xtensa/xtensa.c (xtensa_static_chain): Change the name of the unused first parameter. * doc/tm.texi (TARGET_STATIC_CHAIN): Document the first parameter may be a type. * target.def (static_chain): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217769 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/target.def')
-rw-r--r--gcc/target.def6
1 files changed, 3 insertions, 3 deletions
diff --git a/gcc/target.def b/gcc/target.def
index bc5160d1805..dc48ae6912e 100644
--- a/gcc/target.def
+++ b/gcc/target.def
@@ -4516,8 +4516,8 @@ false for naked functions. The default implementation always returns true.",
bool, (void),
hook_bool_void_true)
-/* Return an rtx for the static chain for FNDECL. If INCOMING_P is true,
- then it should be for the callee; otherwise for the caller. */
+/* Return an rtx for the static chain for FNDECL_OR_TYPE. If INCOMING_P
+ is true, then it should be for the callee; otherwise for the caller. */
DEFHOOK
(static_chain,
"This hook replaces the use of @code{STATIC_CHAIN_REGNUM} et al for\n\
@@ -4539,7 +4539,7 @@ will be at an offset from the frame pointer.\n\
The variables @code{stack_pointer_rtx}, @code{frame_pointer_rtx}, and\n\
@code{arg_pointer_rtx} will have been initialized and should be used\n\
to refer to those items.",
- rtx, (const_tree fndecl, bool incoming_p),
+ rtx, (const_tree fndecl_or_type, bool incoming_p),
default_static_chain)
/* Fill in the trampoline at MEM with a call to FNDECL and a