From: ian Date: Sat, 13 Dec 2014 01:41:49 +0000 (+0000) Subject: PR go/61254 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=91497ed893608cc8bfadf1bed35b8db286584147;p=thirdparty%2Fgcc.git PR go/61254 compiler: Don't move nil subexpressions into temporaries. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218701 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/gcc/go/gofrontend/statements.cc b/gcc/go/gofrontend/statements.cc index 5b8c2e73fc77..6094e5c684b6 100644 --- a/gcc/go/gofrontend/statements.cc +++ b/gcc/go/gofrontend/statements.cc @@ -677,7 +677,8 @@ Move_subexpressions::expression(Expression** pexpr) { if (this->skip_ > 0) --this->skip_; - else if ((*pexpr)->temporary_reference_expression() == NULL) + else if ((*pexpr)->temporary_reference_expression() == NULL + && !(*pexpr)->is_nil_expression()) { Location loc = (*pexpr)->location(); Temporary_statement* temp = Statement::make_temporary(NULL, *pexpr, loc);