• Russ Cox's avatar
    cmd/cgo: print the builtin prolog after the per-file preamble · 5feb1550
    Russ Cox authored
    The preamble may want to #define some special symbols
    and then #include <sys/types.h> itself. The builtin prolog
    also #includes <sys/types.h>, which would break such a
    preamble (because the second #include will be a no-op).
    
    The use of sys/types.h in the builtin prolog is new since Go 1.1,
    so this should preserve the semantics of more existing cgo
    code than we would otherwise.
    
    It also fixes src/pkg/syscall/mkall.sh's use of go tool cgo -godefs
    on some Linux systems.
    
    Thanks to fullung@ for identifying the problem.
    
    Fixes #6558.
    
    R=golang-dev, iant
    CC=golang-dev
    https://golang.org/cl/14684044
    5feb1550
gcc.go 44.5 KB