]> Cypherpunks repositories - gostls13.git/commit
cmd/cgo: print the builtin prolog after the per-file preamble
authorRuss Cox <rsc@golang.org>
Tue, 15 Oct 2013 19:00:48 +0000 (15:00 -0400)
committerRuss Cox <rsc@golang.org>
Tue, 15 Oct 2013 19:00:48 +0000 (15:00 -0400)
commit5feb15508e9cefa06f7d109da8233c91e69937fa
treeb29cbc9cc3a3c059fa445f174b9cfc8d8ddc0bf9
parent9aee98def8e6c6ce6af36ffab1348c1f9356e316
cmd/cgo: print the builtin prolog after the per-file preamble

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
src/cmd/cgo/gcc.go