• Daniel Martí's avatar
    cmd/compile: fix crash on invalid struct literal · ba6974fd
    Daniel Martí authored
    If one tries to use promoted fields in a struct literal, the compiler
    errors correctly. However, if the embedded fields are of struct pointer
    type, the field.Type.Sym.Name expression below panics.
    
    This is because field.Type.Sym is nil in that case. We can simply use
    field.Sym.Name in this piece of code though, as it only concerns
    embedded fields, in which case what we are after is the field name.
    
    Added a test mirroring fixedbugs/issue23609.go, but with pointer types.
    
    Fixes #26416.
    
    Change-Id: Ia46ce62995c9e1653f315accb99d592aff2f285e
    Reviewed-on: https://go-review.googlesource.com/124395
    Run-TryBot: Daniel Martí <mvdan@mvdan.cc>
    TryBot-Result: Gobot Gobot <gobot@golang.org>
    Reviewed-by: 's avatarEmmanuel Odeke <emm.odeke@gmail.com>
    Reviewed-by: 's avatarMatthew Dempsky <mdempsky@google.com>
    ba6974fd
Name
Last commit
Last update
..
builtin Loading commit data...
testdata Loading commit data...
alg.go Loading commit data...
align.go Loading commit data...
bexport.go Loading commit data...
bimport.go Loading commit data...
bitset.go Loading commit data...
bootstrap.go Loading commit data...
builtin.go Loading commit data...
builtin_test.go Loading commit data...
bv.go Loading commit data...
class_string.go Loading commit data...
closure.go Loading commit data...
const.go Loading commit data...
constFold_test.go Loading commit data...
dcl.go Loading commit data...
dwinl.go Loading commit data...
esc.go Loading commit data...
export.go Loading commit data...
fixedbugs_test.go Loading commit data...
float_test.go Loading commit data...
fmt.go Loading commit data...
gen.go Loading commit data...
global_test.go Loading commit data...
go.go Loading commit data...
gsubr.go Loading commit data...
iexport.go Loading commit data...
iface_test.go Loading commit data...
iimport.go Loading commit data...
init.go Loading commit data...
inl.go Loading commit data...
inl_test.go Loading commit data...
lex.go Loading commit data...
lex_test.go Loading commit data...
logic_test.go Loading commit data...
main.go Loading commit data...
mapfile_mmap.go Loading commit data...
mapfile_read.go Loading commit data...
mkbuiltin.go Loading commit data...
mpfloat.go Loading commit data...
mpint.go Loading commit data...
noder.go Loading commit data...
norace.go Loading commit data...
obj.go Loading commit data...
op_string.go Loading commit data...
order.go Loading commit data...
pgen.go Loading commit data...
pgen_test.go Loading commit data...
phi.go Loading commit data...
plive.go Loading commit data...
pprof.go Loading commit data...
race.go Loading commit data...
racewalk.go Loading commit data...
range.go Loading commit data...
reflect.go Loading commit data...
reproduciblebuilds_test.go Loading commit data...
scope.go Loading commit data...
scope_test.go Loading commit data...
select.go Loading commit data...
shift_test.go Loading commit data...
sinit.go Loading commit data...
sizeof_test.go Loading commit data...
ssa.go Loading commit data...
ssa_test.go Loading commit data...
subr.go Loading commit data...
swt.go Loading commit data...
swt_test.go Loading commit data...
syntax.go Loading commit data...
timings.go Loading commit data...
trace.go Loading commit data...
truncconst_test.go Loading commit data...
typecheck.go Loading commit data...
types.go Loading commit data...
types_acc.go Loading commit data...
universe.go Loading commit data...
unsafe.go Loading commit data...
util.go Loading commit data...
walk.go Loading commit data...