aboutsummaryrefslogtreecommitdiff
path: root/gcc/calls.c
diff options
context:
space:
mode:
authorJosh Conner <jconner@apple.com>2006-09-20 18:57:46 +0000
committerJosh Conner <jconner@gcc.gnu.org>2006-09-20 18:57:46 +0000
commit1186ec8cd675cc81ec9029547cba5011e402965e (patch)
tree6af89f21d0a45beb737985ed8cc0c6c0a125788a /gcc/calls.c
parentf803131233dff2233e8feeefa6c84bbb574bcd94 (diff)
downloadgcc-1186ec8cd675cc81ec9029547cba5011e402965e.zip
gcc-1186ec8cd675cc81ec9029547cba5011e402965e.tar.gz
gcc-1186ec8cd675cc81ec9029547cba5011e402965e.tar.bz2
re PR middle-end/25505 (gcc uses way too much stack space for this code)
2006-09-20 Josh Conner <jconner@apple.com> PR middle-end/25505 * calls.c (expand_call): Allow reuse of structure return stack temp. From-SVN: r117091
Diffstat (limited to 'gcc/calls.c')
-rw-r--r--gcc/calls.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/calls.c b/gcc/calls.c
index 7c71eed..b6f57df 100644
--- a/gcc/calls.c
+++ b/gcc/calls.c
@@ -1985,7 +1985,7 @@ expand_call (tree exp, rtx target, int ignore)
/* For variable-sized objects, we must be called with a target
specified. If we were to allocate space on the stack here,
we would have no way of knowing when to free it. */
- rtx d = assign_temp (TREE_TYPE (exp), 1, 1, 1);
+ rtx d = assign_temp (TREE_TYPE (exp), 0, 1, 1);
mark_temp_addr_taken (d);
structure_value_addr = XEXP (d, 0);