compile, runtime: permit anonymous and empty fields in C header
authorIan Lance Taylor <ian@gcc.gnu.org>
Fri, 30 Aug 2019 21:49:49 +0000 (21:49 +0000)
committerIan Lance Taylor <ian@gcc.gnu.org>
Fri, 30 Aug 2019 21:49:49 +0000 (21:49 +0000)
commit4a140826453da37a134d792e0224f4e37343e68a
tree04d27dc317f007c64a3954cd2744b89bc7ed0b47
parentaff0632d4fa0d55b2c830e5dc975242dd246fc87
compile, runtime: permit anonymous and empty fields in C header

    Permit putting structs with anonymous and empty fields in the C header
    file runtime.inc that is used to build the C runtime code.  This is
    required for upcoming 1.13 support, as the m struct has picked up an
    anonymous field.

    Doing this lets the C header contain all the type descriptor structs,
    so start using those in the C code.  This cuts the number of copies of
    type descriptor definitions from 3 to 2.

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

From-SVN: r275227
13 files changed:
gcc/go/gofrontend/MERGE
gcc/go/gofrontend/gogo.cc
gcc/go/gofrontend/types.cc
libgo/go/reflect/makefunc_ffi_c.c
libgo/mkruntimeinc.sh
libgo/runtime/go-construct-map.c
libgo/runtime/go-fieldtrack.c
libgo/runtime/go-reflect-call.c
libgo/runtime/go-type.h [deleted file]
libgo/runtime/go-unsafe-pointer.c
libgo/runtime/print.c
libgo/runtime/proc.c
libgo/runtime/runtime.h