• 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: 's avatarIan Lance Taylor <iant@golang.org>
    feb2a5d6
Name
Last commit
Last update
..
archive Loading commit data...
bufio Loading commit data...
builtin Loading commit data...
bytes Loading commit data...
cmd Loading commit data...
compress Loading commit data...
container Loading commit data...
crypto Loading commit data...
database/sql Loading commit data...
debug Loading commit data...
encoding Loading commit data...
errors Loading commit data...
expvar Loading commit data...
flag Loading commit data...
fmt Loading commit data...
go Loading commit data...
hash Loading commit data...
html Loading commit data...
image Loading commit data...
index/suffixarray Loading commit data...
internal Loading commit data...
io Loading commit data...
log Loading commit data...
math Loading commit data...
mime Loading commit data...
net Loading commit data...
os Loading commit data...
path Loading commit data...
reflect Loading commit data...
regexp Loading commit data...
runtime Loading commit data...
sort Loading commit data...
strconv Loading commit data...
strings Loading commit data...
sync Loading commit data...
syscall Loading commit data...
testing Loading commit data...
text Loading commit data...
time Loading commit data...
unicode Loading commit data...
unsafe Loading commit data...
vendor Loading commit data...
Make.dist Loading commit data...
all.bash Loading commit data...
all.bat Loading commit data...
all.rc Loading commit data...
androidtest.bash Loading commit data...
bootstrap.bash Loading commit data...
buildall.bash Loading commit data...
clean.bash Loading commit data...
clean.bat Loading commit data...
clean.rc Loading commit data...
iostest.bash Loading commit data...
make.bash Loading commit data...
make.bat Loading commit data...
make.rc Loading commit data...
nacltest.bash Loading commit data...
race.bash Loading commit data...
race.bat Loading commit data...
run.bash Loading commit data...
run.bat Loading commit data...
run.rc Loading commit data...