diff options
| author | ian <ian@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-01-04 17:42:21 +0000 |
|---|---|---|
| committer | ian <ian@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-01-04 17:42:21 +0000 |
| commit | 06aee892a2a64677ddc92132f04f4eda9f9659a6 (patch) | |
| tree | d91b61e7dcce07a7d2eb11d8eec2c4bd6600ac4c | |
| parent | 7cecf4c1f99a267ea01cc8ba9a6e068e4acf665d (diff) | |
| download | ppe42-gcc-06aee892a2a64677ddc92132f04f4eda9f9659a6.tar.gz ppe42-gcc-06aee892a2a64677ddc92132f04f4eda9f9659a6.zip | |
Avoid crash when selecting on non-channel.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@168473 138bc75d-0d04-0410-961f-82ee72b054a4
| -rw-r--r-- | gcc/go/gofrontend/statements.cc | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/gcc/go/gofrontend/statements.cc b/gcc/go/gofrontend/statements.cc index b5ded99e158..3498598754a 100644 --- a/gcc/go/gofrontend/statements.cc +++ b/gcc/go/gofrontend/statements.cc @@ -4165,6 +4165,14 @@ Select_clauses::get_tree(Translate_context* context, continue; } + if (p->channel()->type()->channel_type() == NULL) + { + // We should have given an error in the send or receive + // statement we created via lowering. + gcc_assert(saw_errors()); + return error_mark_node; + } + tree channel_tree = p->channel()->get_tree(context); if (channel_tree == error_mark_node) return error_mark_node; |

