From d32e80061847f2ddc60d1c749b229d0802e3395f Mon Sep 17 00:00:00 2001 From: Ian Lance Taylor Date: Tue, 1 Nov 2016 13:46:10 +0000 Subject: [PATCH] re PR go/78145 (Several go.test tests fail with error: integer constant overflow on 32bit targets) PR go/78145 compiler: don't put print/println constants into temporaries It's not necessary, and it breaks setting their type to int64/uint64 when appropriate. This fixes GCC PR 78145. Reviewed-on: https://go-review.googlesource.com/32475 From-SVN: r241740 --- gcc/go/gofrontend/MERGE | 2 +- gcc/go/gofrontend/expressions.cc | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/gcc/go/gofrontend/MERGE b/gcc/go/gofrontend/MERGE index a03ed58..ace3c2f 100644 --- a/gcc/go/gofrontend/MERGE +++ b/gcc/go/gofrontend/MERGE @@ -1,4 +1,4 @@ -c353ffbe18d1538cac7f2a3fcefb846dbf1a6591 +919ef699fe56a9b40c2bd0df07ac1378ce4a7fab The first line of this file holds the git revision number of the last merge done from the gofrontend repository. diff --git a/gcc/go/gofrontend/expressions.cc b/gcc/go/gofrontend/expressions.cc index 4f85059..69f4e01 100644 --- a/gcc/go/gofrontend/expressions.cc +++ b/gcc/go/gofrontend/expressions.cc @@ -7193,7 +7193,7 @@ Builtin_call_expression::do_lower(Gogo*, Named_object* function, pa != this->args()->end(); ++pa) { - if (!(*pa)->is_variable()) + if (!(*pa)->is_variable() && !(*pa)->is_constant()) { Temporary_statement* temp = Statement::make_temporary(NULL, *pa, loc); -- 2.7.4