diff options
author | Jakub Jelinek <jakub@redhat.com> | 2002-03-19 09:47:14 +0100 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2002-03-19 09:47:14 +0100 |
commit | f735a153482c5fd3b7f4055f910096730ed02f19 (patch) | |
tree | f8f50124b7cee68203bee922ac64a4b0c77721a4 /gcc/tree-inline.c | |
parent | c1ea78430722efa016fb62d2af76cfdbf31fec02 (diff) | |
download | gcc-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.c | 3 |
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 |