aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-inline.c
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2002-03-19 09:47:14 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2002-03-19 09:47:14 +0100
commitf735a153482c5fd3b7f4055f910096730ed02f19 (patch)
treef8f50124b7cee68203bee922ac64a4b0c77721a4 /gcc/tree-inline.c
parentc1ea78430722efa016fb62d2af76cfdbf31fec02 (diff)
downloadgcc-f735a153482c5fd3b7f4055f910096730ed02f19.zip
gcc-f735a153482c5fd3b7f4055f910096730ed02f19.tar.gz
gcc-f735a153482c5fd3b7f4055f910096730ed02f19.tar.bz2
re PR c/5656 (ICE in emit_move_insn, at expr.c:2748, regression from gcc 3.0)
PR c/5656 * langhooks.h (struct lang_hooks_for_tree_inlining): Add convert_parm_for_inlining. * c-lang.c (LANG_HOOKS_TREE_INLINING_CONVERT_PARM_FOR_INLINING): Define. * langhooks-def.h: Likewise. * objc/objc-lang.c: Likewise. * langhooks.c (lhd_tree_inlining_convert_parm_for_inlining): New function. * tree-inline.c (initialize_inlined_parameters): Call convert_parm_for_inlining lang hook if needed. * c-typeck.c (c_convert_parm_for_inlining): New function. * c-tree.h (c_convert_parm_for_inlining): Add prototype. * gcc.c-torture/compile/20020318-1.c: New test. From-SVN: r51025
Diffstat (limited to 'gcc/tree-inline.c')
-rw-r--r--gcc/tree-inline.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/tree-inline.c b/gcc/tree-inline.c
index ce54884..831f601 100644
--- a/gcc/tree-inline.c
+++ b/gcc/tree-inline.c
@@ -483,7 +483,8 @@ initialize_inlined_parameters (id, args, fn)
tree cleanup;
/* Find the initializer. */
- value = a ? TREE_VALUE (a) : NULL_TREE;
+ value = (*lang_hooks.tree_inlining.convert_parm_for_inlining)
+ (p, a ? TREE_VALUE (a) : NULL_TREE, fn);
/* If the parameter is never assigned to, we may not need to
create a new variable here at all. Instead, we may be able