diff options
Diffstat (limited to 'gcc/cfgexpand.c')
-rw-r--r-- | gcc/cfgexpand.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/gcc/cfgexpand.c b/gcc/cfgexpand.c index effb844..a3abc84 100644 --- a/gcc/cfgexpand.c +++ b/gcc/cfgexpand.c @@ -1837,10 +1837,16 @@ expand_gimple_cond (basic_block bb, gimple stmt) static void expand_call_stmt (gimple stmt) { - tree exp, decl, lhs = gimple_call_lhs (stmt); + tree exp, decl, lhs; bool builtin_p; size_t i; + if (gimple_call_internal_p (stmt)) + { + expand_internal_call (stmt); + return; + } + exp = build_vl_exp (CALL_EXPR, gimple_call_num_args (stmt) + 3); CALL_EXPR_FN (exp) = gimple_call_fn (stmt); @@ -1890,6 +1896,7 @@ expand_call_stmt (gimple stmt) SET_EXPR_LOCATION (exp, gimple_location (stmt)); TREE_BLOCK (exp) = gimple_block (stmt); + lhs = gimple_call_lhs (stmt); if (lhs) expand_assignment (lhs, exp, false); else |