aboutsummaryrefslogtreecommitdiff
path: root/gcc/doc
diff options
context:
space:
mode:
authorCarlos O'Donell <carlos@codesourcery.com>2006-04-04 16:19:59 +0000
committerCarlos O'Donell <carlos@gcc.gnu.org>2006-04-04 16:19:59 +0000
commit2225b57c2884d2e674ccd5ad972a10a7c1316ec9 (patch)
tree320de322098272075404c4d8bf933e1c2b3bfa03 /gcc/doc
parent41ed243ff0f5c098b930eb3fcc333077b346348a (diff)
downloadgcc-2225b57c2884d2e674ccd5ad972a10a7c1316ec9.zip
gcc-2225b57c2884d2e674ccd5ad972a10a7c1316ec9.tar.gz
gcc-2225b57c2884d2e674ccd5ad972a10a7c1316ec9.tar.bz2
tm.texi (TARGET_STRUCT_VALUE_RTX): Document new value 2 for incoming.
gcc/ 2006-04-04 Carlos O'Donell <carlos@codesourcery.com> * doc/tm.texi (TARGET_STRUCT_VALUE_RTX): Document new value 2 for incoming. * function.c (expand_function_start): Call struct_value_rtx with incoming as 2. * config/sparc/sparc.md: Comment updated_return. * config/sparc/sparc.opt: Add -mstd-struct-return option. * config/sparc/sparc.c (sparc_struct_value_rtx): Use standard struct return if sparc_std_struct_return and incoming is 2. (print_operand): Do not adjust return if sparc_std_struct_return. gcc/testsuite/ 2006-04-04 Carlos O'Donell <carlos@codesourcery.com> * gcc.target/sparc/struct-ret-check.c: New test. From-SVN: r112672
Diffstat (limited to 'gcc/doc')
-rw-r--r--gcc/doc/tm.texi11
1 files changed, 7 insertions, 4 deletions
diff --git a/gcc/doc/tm.texi b/gcc/doc/tm.texi
index 2e7632e..69514e2 100644
--- a/gcc/doc/tm.texi
+++ b/gcc/doc/tm.texi
@@ -4187,12 +4187,15 @@ On some architectures the place where the structure value address
is found by the called function is not the same place that the
caller put it. This can be due to register windows, or it could
be because the function prologue moves it to a different place.
-@var{incoming} is @code{true} when the location is needed in
-the context of the called function, and @code{false} in the context of
+@var{incoming} is @code{1} or @code{2} when the location is needed in
+the context of the called function, and @code{0} in the context of
the caller.
-If @var{incoming} is @code{true} and the address is to be found on the
-stack, return a @code{mem} which refers to the frame pointer.
+If @var{incoming} is non-zero and the address is to be found on the
+stack, return a @code{mem} which refers to the frame pointer. If
+@var{incoming} is @code{2}, the result is being used to fetch the
+structure value address at the beginning of a function. If you need
+to emit adjusting code, you should do it at this point.
@end deftypefn
@defmac PCC_STATIC_STRUCT_RETURN