• Russ Cox's avatar
    cmd/compile: print struct tags in var decl in inlined func body · feb2a5d6
    Russ Cox authored
    This bug was introduced in golang.org/cl/18217,
    while trying to fix #13777.
    
    Originally I wanted to just disable inlining for the case
    being handled incorrectly, but it's fairly difficult to detect
    and much easier just to fix. Since the case being handled
    incorrectly was inlined correctly in Go 1.5, not inlining it
    would also be somewhat of a regression.
    So just fix it.
    
    Test case copied from Ian's CL 19520.
    
    The mistake to worry about in this CL would be relaxing
    the condition too much (we now print the note more often
    than we did yesterday). To confirm that we'd catch this mistake,
    I checked that changing (!fmtbody || !t.Funarg) to (true) does
    cause fixedbugs/issue13777.go to fail. And putting it back
    to what is written in this CL makes that test pass again
    as well as the new fixedbugs/issue14331.go.
    So I believe that the new condition is correct for both constraints.
    
    Fixes #14331.
    
    Change-Id: I91f75a4d5d07c53af5caea1855c780d9874b8df6
    Reviewed-on: https://go-review.googlesource.com/19514
    Run-TryBot: Russ Cox <rsc@golang.org>
    TryBot-Result: Gobot Gobot <gobot@golang.org>
    Reviewed-by: default avatarIan Lance Taylor <iant@golang.org>
    feb2a5d6
issue14331.go 232 Bytes