In the gc compiler, for slicing an array, its AST has an implicit address operation node. There isn't such node in the gofrontend AST. During the escape analysis, we create a fake node to mimic the gc compiler's behavior. For the fake node, the loopdepth was not tracked correctly, causing miscompilation. Since this is an address operation, do the same thing as we do for the address operator. Fixes golang/go#36404. Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/213643 From-SVN: r279984
Name |
Last commit
|
Last update |
---|---|---|
.. | ||
LICENSE | Loading commit data... | |
MERGE | Loading commit data... | |
PATENTS | Loading commit data... | |
README | Loading commit data... | |
ast-dump.cc | Loading commit data... | |
ast-dump.h | Loading commit data... | |
backend.h | Loading commit data... | |
escape.cc | Loading commit data... | |
escape.h | Loading commit data... | |
export.cc | Loading commit data... | |
export.h | Loading commit data... | |
expressions.cc | Loading commit data... | |
expressions.h | Loading commit data... | |
go-diagnostics.cc | Loading commit data... | |
go-diagnostics.h | Loading commit data... | |
go-dump.cc | Loading commit data... | |
go-dump.h | Loading commit data... | |
go-encode-id.cc | Loading commit data... | |
go-encode-id.h | Loading commit data... | |
go-linemap.h | Loading commit data... | |
go-optimize.cc | Loading commit data... | |
go-optimize.h | Loading commit data... | |
go-sha1.h | Loading commit data... | |
go.cc | Loading commit data... | |
gogo.cc | Loading commit data... | |
gogo.h | Loading commit data... | |
import-archive.cc | Loading commit data... | |
import.cc | Loading commit data... | |
import.h | Loading commit data... | |
lex.cc | Loading commit data... | |
lex.h | Loading commit data... | |
names.cc | Loading commit data... | |
operator.h | Loading commit data... | |
parse.cc | Loading commit data... | |
parse.h | Loading commit data... | |
runtime.cc | Loading commit data... | |
runtime.def | Loading commit data... | |
runtime.h | Loading commit data... | |
statements.cc | Loading commit data... | |
statements.h | Loading commit data... | |
string-dump.h | Loading commit data... | |
types.cc | Loading commit data... | |
types.h | Loading commit data... | |
unsafe.cc | Loading commit data... | |
wb.cc | Loading commit data... |