• Ian Lance Taylor's avatar
    cmd/compile: s.f aliases itself · 92bb694a
    Ian Lance Taylor authored
    The change in 20907 fixed varexpr but broke aliased.  After that change,
    a reference to a field in a struct would not be seen as aliasing itself.
    Before that change, it would, but only because all fields in a struct
    aliased everything.
    
    This CL changes the compiler to consider all references to a field as
    aliasing all other fields in that struct.  This is imperfect--a
    reference to one field does not alias another field--but is a simple fix
    for the immediate problem.  A better fix would require tracking the
    specific fields as well.
    
    Fixes #15042.
    
    Change-Id: I5c95c0dd7b0699e53022fce9bae2e8f50d6d1d04
    Reviewed-on: https://go-review.googlesource.com/21390
    Run-TryBot: Ian Lance Taylor <iant@golang.org>
    TryBot-Result: Gobot Gobot <gobot@golang.org>
    Reviewed-by: default avatarBrad Fitzpatrick <bradfitz@golang.org>
    Reviewed-by: default avatarMatthew Dempsky <mdempsky@google.com>
    92bb694a
walk.go 86.2 KB