Commit b1d88684 by Ian Lance Taylor

compiler: use the underlying type to build placeholder type for alias

    
    When asking for a placeholder type of an alias type, build a
    placeholder for the underlying type, instead of treating the
    alias as a named type and calling get_backend. The latter may
    fail as we may not be ready to build a complete backend type. We
    have already used a unified backend type for alias type and its
    underlying type. Do the same for placeholders as well.
    
    Reviewed-on: https://go-review.googlesource.com/138635

From-SVN: r264773
parent 44ef0300
2f56d51c6b3104242613c74b02fa6c63a2fe16c5
53d0d7ca278a5612fcdb5fb098e7bf950a0178ef
The first line of this file holds the git revision number of the last
merge done from the gofrontend repository.
......@@ -1125,6 +1125,8 @@ Type::get_backend_placeholder(Gogo* gogo)
case TYPE_FORWARD:
// Named types keep track of their own dependencies and manage
// their own placeholders.
if (this->named_type() != NULL && this->named_type()->is_alias())
return this->unalias()->get_backend_placeholder(gogo);
return this->get_backend(gogo);
case TYPE_INTERFACE:
......
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