Commit 01bd5703 by Ian Lance Taylor

Don't delete old arguments when lowering varargs.

From-SVN: r170474
parent 0cba839e
...@@ -8281,8 +8281,9 @@ Call_expression::do_lower(Gogo* gogo, Named_object* function, int) ...@@ -8281,8 +8281,9 @@ Call_expression::do_lower(Gogo* gogo, Named_object* function, int)
for (size_t i = 0; i < rc; ++i) for (size_t i = 0; i < rc; ++i)
args->push_back(Expression::make_call_result(call, i)); args->push_back(Expression::make_call_result(call, i));
// We can't return a new call expression here, because this // We can't return a new call expression here, because this
// one may be referenced by Call_result expressions. FIXME. // one may be referenced by Call_result expressions. We
delete this->args_; // also can't delete the old arguments, because we may still
// traverse them somewhere up the call stack. FIXME.
this->args_ = args; this->args_ = args;
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment