go/misc/cgo
snyh 086df1dc77 cmd/cgo: disable inappropriate warnings when the gcc struct is empty
package main
//#cgo CFLAGS: -Wall
//void test() {}
import "C"
func main() {
    C.test()
}

This code will cause gcc issuing warnings about unused variable.

This commit use offset of the second return value of
Packages.structType to detect whether the gcc struct is empty,
and if it's directly invoke the C function instead of writing an
unused code.

LGTM=dave, minux
R=golang-codereviews, iant, minux, dave
CC=golang-codereviews
https://golang.org/cl/109640045
2014-07-18 02:47:21 -04:00
..
errors cmd/cgo: enforce typing of 0-sized types 2014-03-27 20:23:16 +00:00
gmp misc/cgo/gmp: fix typo. 2013-03-30 19:02:14 +08:00
life misc/cgo: prepare for 64-bit ints 2012-09-24 14:58:45 -04:00
nocgo cmd/ld: really import runtime/cgo for external link 2014-05-20 21:36:50 -07:00
stdio misc/cgo/stdio: make it work on Windows and also test it 2012-09-20 00:27:23 +08:00
test cmd/cgo: disable inappropriate warnings when the gcc struct is empty 2014-07-18 02:47:21 -04:00
testasan runtime: more flexible heap memory mapping on 64-bits 2013-06-12 18:47:16 +04:00
testcdefs misc/cgo/testcdefs: rm correct file in test.bash 2013-12-10 12:06:24 +11:00
testso misc/cgo/testso: don't use TLS variables on Darwin and OpenBSD. 2014-02-23 20:37:43 -05:00
testtls misc/cgo/testtls: make test less flaky 2014-01-21 19:44:51 -05:00