Commit a7385f1c by Ian Lance Taylor

compiler: don't set btype_ too early for alias type

    
    CL 123362 introduced a bug in creating alias type's backend
    representation. A type's btype_ should not be set before
    named types are converted if it is a placeholder. For alias
    type, it is set too early. This may result in unresolved
    placeholders. This CL fixes it.
    
    Reviewed-on: https://go-review.googlesource.com/123975

From-SVN: r262833
parent 0c86a39d
d6338c94e5574b63469c740159d064e89c6718bf
38850073f25f9de4f3daa33d799def3a33c942ab
The first line of this file holds the git revision number of the last
merge done from the gofrontend repository.
......@@ -992,8 +992,10 @@ Type::get_backend(Gogo* gogo)
return this->btype_;
if (this->named_type() != NULL && this->named_type()->is_alias()) {
this->btype_ = this->unalias()->get_backend(gogo);
return this->btype_;
Btype* bt = this->unalias()->get_backend(gogo);
if (gogo != NULL && gogo->named_types_are_converted())
this->btype_ = bt;
return bt;
}
if (this->forward_declaration_type() != NULL
......
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