aboutsummaryrefslogtreecommitdiff
path: root/gcc/langhooks.c
diff options
context:
space:
mode:
authorZack Weinberg <zack@gcc.gnu.org>2002-12-16 18:23:00 +0000
committerZack Weinberg <zack@gcc.gnu.org>2002-12-16 18:23:00 +0000
commit4977bab6ed59f01c73f9c8b9e92298706df9b6d5 (patch)
treec259697c448b0c6f548f153c48c46a8d7a75970f /gcc/langhooks.c
parentb51dc045004ee7eb8d2bf4358ddf22a6cc6c1d00 (diff)
downloadgcc-4977bab6ed59f01c73f9c8b9e92298706df9b6d5.zip
gcc-4977bab6ed59f01c73f9c8b9e92298706df9b6d5.tar.gz
gcc-4977bab6ed59f01c73f9c8b9e92298706df9b6d5.tar.bz2
Merge basic-improvements-branch to trunk
From-SVN: r60174
Diffstat (limited to 'gcc/langhooks.c')
-rw-r--r--gcc/langhooks.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/gcc/langhooks.c b/gcc/langhooks.c
index ccbb534..912d5db 100644
--- a/gcc/langhooks.c
+++ b/gcc/langhooks.c
@@ -21,6 +21,8 @@ Boston, MA 02111-1307, USA. */
#include "config.h"
#include "system.h"
+#include "coretypes.h"
+#include "tm.h"
#include "toplev.h"
#include "tree.h"
#include "c-tree.h"
@@ -354,13 +356,17 @@ lhd_tree_inlining_auto_var_in_fn_p (var, fn)
tree
lhd_tree_inlining_copy_res_decl_for_inlining (res, fn, caller,
- dm, ndp, texps)
+ dm, ndp, return_slot_addr)
tree res, fn, caller;
void *dm ATTRIBUTE_UNUSED;
int *ndp ATTRIBUTE_UNUSED;
- void *texps ATTRIBUTE_UNUSED;
+ tree return_slot_addr ATTRIBUTE_UNUSED;
{
- return copy_decl_for_inlining (res, fn, caller);
+ if (return_slot_addr)
+ return build1 (INDIRECT_REF, TREE_TYPE (TREE_TYPE (return_slot_addr)),
+ return_slot_addr);
+ else
+ return copy_decl_for_inlining (res, fn, caller);
}
/* lang_hooks.tree_inlining.anon_aggr_type_p determines whether T is a