From 273113346e85423e88d1352c4acafe41e7dd90b5 Mon Sep 17 00:00:00 2001 From: Ian Lance Taylor Date: Mon, 29 Aug 2011 22:02:01 +0000 Subject: [PATCH] Don't lower blocks twice. From-SVN: r178263 --- gcc/go/gofrontend/gogo.cc | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/gcc/go/gofrontend/gogo.cc b/gcc/go/gofrontend/gogo.cc index 4aafe41..c544eba 100644 --- a/gcc/go/gofrontend/gogo.cc +++ b/gcc/go/gofrontend/gogo.cc @@ -1268,6 +1268,12 @@ Lower_parse_tree::function(Named_object* no) int Lower_parse_tree::statement(Block* block, size_t* pindex, Statement* sorig) { + // Because we explicitly traverse the statement's contents + // ourselves, we want to skip block statements here. There is + // nothing to lower in a block statement. + if (sorig->is_block_statement()) + return TRAVERSE_CONTINUE; + Statement_inserter hold_inserter(this->inserter_); this->inserter_ = Statement_inserter(block, pindex); -- 2.7.4