diff options
-rw-r--r-- | ir_function_inlining.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/ir_function_inlining.cpp b/ir_function_inlining.cpp index d74de650e0..851c0dd9f7 100644 --- a/ir_function_inlining.cpp +++ b/ir_function_inlining.cpp @@ -146,11 +146,12 @@ ir_call::generate_inline(ir_instruction *next_ir) /* Generate a new variable for the parameter. */ parameters[i] = (ir_variable *)sig_param->clone(ht); + parameters[i]->mode = ir_var_auto; next_ir->insert_before(parameters[i]); /* Move the actual param into our param variable if it's an 'in' type. */ - if (parameters[i]->mode == ir_var_in || - parameters[i]->mode == ir_var_inout) { + if (sig_param->mode == ir_var_in || + sig_param->mode == ir_var_inout) { ir_assignment *assign; assign = new ir_assignment(new ir_dereference_variable(parameters[i]), |