aboutsummaryrefslogtreecommitdiff
path: root/gcc/go
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@gcc.gnu.org>2011-02-24 15:18:35 +0000
committerIan Lance Taylor <ian@gcc.gnu.org>2011-02-24 15:18:35 +0000
commit0cba839e42ca0342306ccfff41713b19b8b9087b (patch)
tree44382c0bf35084a0f7907709506f2ae7ee017f78 /gcc/go
parent23e6d4a5bed6ce5b14b60816ebd5bda2749c9af6 (diff)
downloadgcc-0cba839e42ca0342306ccfff41713b19b8b9087b.zip
gcc-0cba839e42ca0342306ccfff41713b19b8b9087b.tar.gz
gcc-0cba839e42ca0342306ccfff41713b19b8b9087b.tar.bz2
Traverse erroneous send/receive statements.
From-SVN: r170473
Diffstat (limited to 'gcc/go')
-rw-r--r--gcc/go/gofrontend/parse.cc6
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/go/gofrontend/parse.cc b/gcc/go/gofrontend/parse.cc
index abd75fb..ab6021d 100644
--- a/gcc/go/gofrontend/parse.cc
+++ b/gcc/go/gofrontend/parse.cc
@@ -4203,6 +4203,12 @@ Parse::comm_clause(Select_clauses* clauses, bool* saw_default)
if (got_case)
clauses->add(is_send, channel, val, var, is_default, statements, location);
+ else if (statements != NULL)
+ {
+ // Add the statements to make sure that any names they define
+ // are traversed.
+ this->gogo_->add_block(statements, location);
+ }
}
// CommCase = ( "default" | ( "case" ( SendExpr | RecvExpr) ) ) ":" .