From 91497ed893608cc8bfadf1bed35b8db286584147 Mon Sep 17 00:00:00 2001 From: ian Date: Sat, 13 Dec 2014 01:41:49 +0000 Subject: [PATCH] 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 --- gcc/go/gofrontend/statements.cc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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); -- 2.47.3