Commit 03ff36aa by Ian Lance Taylor

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
parent ce64a8b4
b0a46c2cdb915ddc4a4e401af9ef6eb2bcd4d4ea 89e46ae0cde7bebd8e97434355c5b7e57d902613
The first line of this file holds the git revision number of the last The first line of this file holds the git revision number of the last
merge done from the gofrontend repository. merge done from the gofrontend repository.
...@@ -2498,6 +2498,8 @@ Specific_type_functions::type(Type* t) ...@@ -2498,6 +2498,8 @@ Specific_type_functions::type(Type* t)
case Type::TYPE_NAMED: case Type::TYPE_NAMED:
{ {
Named_type* nt = t->named_type(); Named_type* nt = t->named_type();
if (nt->is_alias())
return TRAVERSE_CONTINUE;
if (t->needs_specific_type_functions(this->gogo_)) if (t->needs_specific_type_functions(this->gogo_))
t->type_functions(this->gogo_, nt, NULL, NULL, &hash_fn, &equal_fn); t->type_functions(this->gogo_, nt, NULL, NULL, &hash_fn, &equal_fn);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment