aboutsummaryrefslogtreecommitdiff
path: root/gcc/go/gofrontend/expressions.cc
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@gcc.gnu.org>2014-12-10 20:38:13 +0000
committerIan Lance Taylor <ian@gcc.gnu.org>2014-12-10 20:38:13 +0000
commitc44f74e4cb760a204865655d2abc80276d7b6c4e (patch)
tree55d23d5573be15e9f8432f098d0293e7ef1dc338 /gcc/go/gofrontend/expressions.cc
parent1b457aa45d402df7fbf1dbd818f6d38a4c447aaa (diff)
downloadgcc-c44f74e4cb760a204865655d2abc80276d7b6c4e.zip
gcc-c44f74e4cb760a204865655d2abc80276d7b6c4e.tar.gz
gcc-c44f74e4cb760a204865655d2abc80276d7b6c4e.tar.bz2
re PR go/61316 (gccgo: spurious "incompatible types in assignment" error [GoSmith])
PR go/61316 compiler: Don't lower multi-valued arguments into temporaries. From-SVN: r218606
Diffstat (limited to 'gcc/go/gofrontend/expressions.cc')
-rw-r--r--gcc/go/gofrontend/expressions.cc1
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/go/gofrontend/expressions.cc b/gcc/go/gofrontend/expressions.cc
index 0916adc..4d07c22 100644
--- a/gcc/go/gofrontend/expressions.cc
+++ b/gcc/go/gofrontend/expressions.cc
@@ -8525,6 +8525,7 @@ Call_expression::do_lower(Gogo* gogo, Named_object* function,
|| fntype->is_builtin()))
{
Call_expression* call = this->args_->front()->call_expression();
+ call->set_is_multi_value_arg();
Expression_list* args = new Expression_list;
for (size_t i = 0; i < rc; ++i)
args->push_back(Expression::make_call_result(call, i));