re PR go/89321 (cross build with riscv64 gccgo compilation failed due to assert in constructor_expression)
PR go/89321 compiler: copy has_padding field from converted struct Test case is https://golang.org/cl/162617. Fixes https://gcc.gnu.org/PR89321 Reviewed-on: https://go-review.googlesource.com/c/162618 From-SVN: r268904
This commit is contained in:
parent
cc2593977b
commit
a6c723e202
2 changed files with 11 additions and 1 deletions
|
@ -1,4 +1,4 @@
|
|||
a487c86418488f6a17dab4f9945e2a5d495e3ddb
|
||||
c2fc3b83d832725accd4fa5874a5b5ca02dd90dc
|
||||
|
||||
The first line of this file holds the git revision number of the last
|
||||
merge done from the gofrontend repository.
|
||||
|
|
|
@ -1003,6 +1003,16 @@ Type::get_backend(Gogo* gogo)
|
|||
ins.first->second.is_placeholder = false;
|
||||
}
|
||||
|
||||
// We set the has_padding field of a Struct_type when we convert
|
||||
// to the backend type, so if we have multiple Struct_type's
|
||||
// mapping to the same backend type we need to copy the
|
||||
// has_padding field. FIXME: This is awkward. We shouldn't
|
||||
// really change the type when setting the backend type, but
|
||||
// there isn't any other good time to add the padding field.
|
||||
if (ins.first->first->struct_type() != NULL
|
||||
&& ins.first->first->struct_type()->has_padding())
|
||||
this->struct_type()->set_has_padding();
|
||||
|
||||
return ins.first->second.btype;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue