aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/go/gofrontend/MERGE2
-rw-r--r--gcc/go/gofrontend/statements.cc5
2 files changed, 4 insertions, 3 deletions
diff --git a/gcc/go/gofrontend/MERGE b/gcc/go/gofrontend/MERGE
index dabd5a3..ba7282e 100644
--- a/gcc/go/gofrontend/MERGE
+++ b/gcc/go/gofrontend/MERGE
@@ -1,4 +1,4 @@
-b7bce0dbccb978d33eb8ce0bffc02fae2c2857c1
+480477ca64c3001b9c7e92ef8b978dc92a5912d2
The first line of this file holds the git revision number of the last
merge done from the gofrontend repository.
diff --git a/gcc/go/gofrontend/statements.cc b/gcc/go/gofrontend/statements.cc
index 27c4b95..6d9c0eb 100644
--- a/gcc/go/gofrontend/statements.cc
+++ b/gcc/go/gofrontend/statements.cc
@@ -5880,6 +5880,7 @@ Select_statement::lower_two_case(Block* b)
: this->clauses_->at(1));
Location loc = this->location();
Expression* chan = chancase.channel();
+ Type* valtype = chan->type()->channel_type()->element_type();
Temporary_statement* chantmp = Statement::make_temporary(NULL, chan, loc);
b->add_statement(chantmp);
@@ -5891,7 +5892,8 @@ Select_statement::lower_two_case(Block* b)
{
// if selectnbsend(chan, &val) { body } else { default body }
- Temporary_statement* ts = Statement::make_temporary(NULL, chancase.val(), loc);
+ Temporary_statement* ts =
+ Statement::make_temporary(valtype, chancase.val(), loc);
// Tell the escape analysis that the value escapes, as it may be sent
// to a channel.
ts->set_value_escapes();
@@ -5904,7 +5906,6 @@ Select_statement::lower_two_case(Block* b)
}
else
{
- Type* valtype = chan->type()->channel_type()->element_type();
Temporary_statement* ts = Statement::make_temporary(valtype, NULL, loc);
b->add_statement(ts);