From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 2116) id C32813858D20; Sat, 5 Feb 2022 00:45:10 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org C32813858D20 MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="utf-8" From: Ian Lance Taylor To: gcc-cvs@gcc.gnu.org Subject: [gcc r12-7067] compiler: accept "any" as an alias for "interface{}" X-Act-Checkin: gcc X-Git-Author: Ian Lance Taylor X-Git-Refname: refs/heads/master X-Git-Oldrev: 3c1cbde16e523edcd8b91835eab2ad3e2672a9fa X-Git-Newrev: b523cae81c64c3557f3918ce01419242c4238009 Message-Id: <20220205004510.C32813858D20@sourceware.org> Date: Sat, 5 Feb 2022 00:45:10 +0000 (GMT) X-BeenThere: gcc-cvs@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-cvs mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 05 Feb 2022 00:45:10 -0000 https://gcc.gnu.org/g:b523cae81c64c3557f3918ce01419242c4238009 commit r12-7067-gb523cae81c64c3557f3918ce01419242c4238009 Author: Ian Lance Taylor Date: Tue Feb 1 14:44:20 2022 -0800 compiler: accept "any" as an alias for "interface{}" For golang/go#33232 Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/382248 Diff: --- gcc/go/gofrontend/MERGE | 2 +- gcc/go/gofrontend/gogo.cc | 9 +++++++++ gcc/testsuite/go.test/test/fixedbugs/issue14652.go | 5 +++-- 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/gcc/go/gofrontend/MERGE b/gcc/go/gofrontend/MERGE index a42d88d25c4..f78561c3483 100644 --- a/gcc/go/gofrontend/MERGE +++ b/gcc/go/gofrontend/MERGE @@ -1,4 +1,4 @@ -7d510bf5fcec9b0ccc0282f4193a80c0a164df63 +61f7cf4b9db0587ff099aa36832a355b90ee1bf9 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/gogo.cc b/gcc/go/gofrontend/gogo.cc index e2fd509f58a..b1e210ee6ac 100644 --- a/gcc/go/gofrontend/gogo.cc +++ b/gcc/go/gofrontend/gogo.cc @@ -141,6 +141,15 @@ Gogo::Gogo(Backend* backend, Linemap* linemap, int, int pointer_size) this->add_named_type(error_type); } + // "any" is an alias for the empty interface type. + { + Type* empty = Type::make_empty_interface_type(loc); + Named_object* no = Named_object::make_type("any", NULL, empty, loc); + Named_type* nt = no->type_value(); + nt->set_is_alias(); + this->add_named_type(nt); + } + this->globals_->add_constant(Typed_identifier("true", Type::make_boolean_type(), loc), diff --git a/gcc/testsuite/go.test/test/fixedbugs/issue14652.go b/gcc/testsuite/go.test/test/fixedbugs/issue14652.go index d53b4126683..586663b676f 100644 --- a/gcc/testsuite/go.test/test/fixedbugs/issue14652.go +++ b/gcc/testsuite/go.test/test/fixedbugs/issue14652.go @@ -1,4 +1,4 @@ -// errorcheck +// compile // Copyright 2016 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style @@ -6,4 +6,5 @@ package p -var x any // ERROR "undefined: any|undefined type .*any.*" +// any is now permitted instead of interface{} +var x any