Commit 16772757 by Ian Lance Taylor

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
parent d81beb31
a99959e6a4a899cfcc4d46e6b54da15d23c58a14 cc70be24502faeffefb66fd0abeb7f20a6c7792a
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.
...@@ -6899,6 +6899,8 @@ Function_declaration::import_function_body(Gogo* gogo, Named_object* no) ...@@ -6899,6 +6899,8 @@ Function_declaration::import_function_body(Gogo* gogo, Named_object* no)
if (fntype->is_method()) if (fntype->is_method())
{ {
if (this->nointerface())
fn->set_nointerface();
const Typed_identifier* receiver = fntype->receiver(); const Typed_identifier* receiver = fntype->receiver();
Variable* recv_param = new Variable(receiver->type(), NULL, false, Variable* recv_param = new Variable(receiver->type(), NULL, false,
true, true, start_loc); true, true, start_loc);
......
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