From ed9fc7531d80d0894d52c96a4a79968842df945b Mon Sep 17 00:00:00 2001 From: Russ Cox Date: Fri, 1 Feb 2013 08:33:52 -0800 Subject: [PATCH] cmd/cgo: document //export preamble restriction Fixes #3497. R=golang-dev, iant CC=golang-dev https://golang.org/cl/7235075 --- src/cmd/cgo/doc.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/cmd/cgo/doc.go b/src/cmd/cgo/doc.go index 6f3343de54..2618832101 100644 --- a/src/cmd/cgo/doc.go +++ b/src/cmd/cgo/doc.go @@ -116,6 +116,11 @@ copied from the cgo input files. Functions with multiple return values are mapped to functions returning a struct. Not all Go types can be mapped to C types in a useful way. +Using //export in a file places a restriction on the preamble: +since it is copied into two different C output files, it must not +contain any definitions, only declarations. Definitions must be +placed in preambles in other files, or in C source files. + Cgo transforms the input file into four output files: two Go source files, a C file for 6c (or 8c or 5c), and a C file for gcc. -- 2.50.0