* cfgexpand.c (expand_call_stmt): Convert the function type to the
original one if this is not a builtin function.
From-SVN: r172471
-2011-04-14 Eric Botcazou <ebotcazou@adacore.com>
+2011-04-15 Eric Botcazou <ebotcazou@adacore.com>
- * cfgexpand.c (expand_call_stmt): Rematerialize the original function
- type if this is not a builtin function.
+ * cfgexpand.c (expand_call_stmt): Convert the function type to the
+ original one if this is not a builtin function.
2011-04-14 Jakub Jelinek <jakub@redhat.com>
call is made may be different from the type of the function. */
if (!builtin_p)
CALL_EXPR_FN (exp)
- = fold_build1 (NOP_EXPR, build_pointer_type (gimple_call_fntype (stmt)),
- CALL_EXPR_FN (exp));
+ = fold_convert (build_pointer_type (gimple_call_fntype (stmt)),
+ CALL_EXPR_FN (exp));
TREE_TYPE (exp) = gimple_call_return_type (stmt);
CALL_EXPR_STATIC_CHAIN (exp) = gimple_call_chain (stmt);