From 03ff36aa01bd359f74cbd1f2afec569ce0b77a15 Mon Sep 17 00:00:00 2001 From: Ian Lance Taylor Date: Thu, 14 Sep 2017 03:51:21 +0000 Subject: [PATCH] compiler: emit type specific functions for aliases If we have an alias for a struct or array that requires a type-specific function, don't emit the function with the alias name. Emit it with the struct/array as usual. Test case is https://golang.org/cl/62531. Reviewed-on: https://go-review.googlesource.com/62412 From-SVN: r252747 --- gcc/go/gofrontend/MERGE | 2 +- gcc/go/gofrontend/gogo.cc | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/gcc/go/gofrontend/MERGE b/gcc/go/gofrontend/MERGE index a905f583859..74a0dba28f7 100644 --- a/gcc/go/gofrontend/MERGE +++ b/gcc/go/gofrontend/MERGE @@ -1,4 +1,4 @@ -b0a46c2cdb915ddc4a4e401af9ef6eb2bcd4d4ea +89e46ae0cde7bebd8e97434355c5b7e57d902613 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 5dbe29da261..adc8e8a2363 100644 --- a/gcc/go/gofrontend/gogo.cc +++ b/gcc/go/gofrontend/gogo.cc @@ -2498,6 +2498,8 @@ Specific_type_functions::type(Type* t) case Type::TYPE_NAMED: { Named_type* nt = t->named_type(); + if (nt->is_alias()) + return TRAVERSE_CONTINUE; if (t->needs_specific_type_functions(this->gogo_)) t->type_functions(this->gogo_, nt, NULL, NULL, &hash_fn, &equal_fn);