compiler: check for notinheap struct at each struct field
authorIan Lance Taylor <ian@gcc.gnu.org>
Sat, 31 Aug 2019 03:07:48 +0000 (03:07 +0000)
committerIan Lance Taylor <ian@gcc.gnu.org>
Sat, 31 Aug 2019 03:07:48 +0000 (03:07 +0000)
commit3ba155dd1921b55f04866b35a2e054e092670cd6
treed363ebe768fa8e1493850b82f82b2d9f857a1e2a
parentc70ff9f9be0c7360a37519ec68ac4dd41e8d0a3c
compiler: check for notinheap struct at each struct field

    When generating write barriers, we were only checking for a notinheap
    struct at the outermost struct.  That mishandled the case of setting a
    pointer to a notinheap struct as a field of another struct that is not
    notinheap.  This caused an invalid write barrier error when building
    the 1.13 version of the runtime.

    Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/192279

From-SVN: r275240
gcc/go/gofrontend/MERGE
gcc/go/gofrontend/wb.cc