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.
Change-Id: Ic194ea913a3a6fa42138706d0a6929b490733394
Reviewed-on: https://go-review.googlesource.com/62412
Reviewed-by: Than McIntosh <thanm@google.com>
diff --git a/go/gogo.cc b/go/gogo.cc
index 5dbe29d..adc8e8a 100644
--- a/go/gogo.cc
+++ b/go/gogo.cc
@@ -2498,6 +2498,8 @@
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);