From: Ian Lance Taylor Date: Mon, 29 Aug 2011 22:02:01 +0000 (+0000) Subject: Don't lower blocks twice. X-Git-Tag: releases/gcc-4.7.0~4135 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=273113346e85423e88d1352c4acafe41e7dd90b5;p=thirdparty%2Fgcc.git Don't lower blocks twice. From-SVN: r178263 --- diff --git a/gcc/go/gofrontend/gogo.cc b/gcc/go/gofrontend/gogo.cc index 4aafe412bc51..c544eba8d2f8 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);