• Matthew Dempsky's avatar
    cmd/cgo, debug/dwarf: fix translation of zero-size arrays · 078a9cbc
    Matthew Dempsky authored
    In cgo, now that recursive calls to typeConv.Type() always work,
    we can more robustly calculate the array sizes based on the size
    of our element type.
    
    Also, in debug/dwarf, the decision to call zeroType is made
    based on a type's usage	within a particular struct, but dwarf.Type
    values are cached in typeCache, so the modification might affect
    uses of the type in other structs.  Current compilers don't appear
    to share DWARF type entries for "[]foo" and "[0]foo", but they also
    don't consistently share type entries in other cases.  Arguably
    modifying the types is an improvement in some cases, but varying
    translated types according to compiler whims seems like a bad idea.
    
    Lastly, also in debug/dwarf, zeroType only needs to rewrite the
    top-level dimension, and only if the rest of the array size is
    non-zero.
    
    Fixes #8428.
    
    LGTM=iant
    R=iant
    CC=golang-codereviews
    https://golang.org/cl/127980043
    078a9cbc
Name
Last commit
Last update
api Loading commit data...
doc Loading commit data...
include Loading commit data...
lib Loading commit data...
misc Loading commit data...
src Loading commit data...
test Loading commit data...
.hgignore Loading commit data...
.hgtags Loading commit data...
AUTHORS Loading commit data...
CONTRIBUTORS Loading commit data...
LICENSE Loading commit data...
PATENTS Loading commit data...
README Loading commit data...
favicon.ico Loading commit data...
robots.txt Loading commit data...