compiler: preserve nointerface property when inlining methods

When an inline function (with body) is imported from another package,
    make that the "nointerface" property (if set) is preserved.
    
    Fixes golang/go#30862.
    
    Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/167742

From-SVN: r269713
This commit is contained in:
Ian Lance Taylor 2019-03-15 16:58:14 +00:00
parent d81beb31c6
commit 167727579b
2 changed files with 3 additions and 1 deletions

View File

@ -1,4 +1,4 @@
a99959e6a4a899cfcc4d46e6b54da15d23c58a14
cc70be24502faeffefb66fd0abeb7f20a6c7792a
The first line of this file holds the git revision number of the last
merge done from the gofrontend repository.

View File

@ -6899,6 +6899,8 @@ Function_declaration::import_function_body(Gogo* gogo, Named_object* no)
if (fntype->is_method())
{
if (this->nointerface())
fn->set_nointerface();
const Typed_identifier* receiver = fntype->receiver();
Variable* recv_param = new Variable(receiver->type(), NULL, false,
true, true, start_loc);