mirror of
https://github.com/golang/go
synced 2024-11-17 23:34:52 -07:00
cmd/cgo: silence const warnings
Fixes #3152. R=golang-dev, dsymonds, r CC=golang-dev https://golang.org/cl/5786047
This commit is contained in:
parent
94f233574b
commit
43d71e7d7d
@ -411,10 +411,20 @@ func (p *Package) writeOutputFunc(fgcc *os.File, n *Name) {
|
||||
}
|
||||
}
|
||||
fmt.Fprintf(fgcc, "%s(", n.C)
|
||||
for i := range n.FuncType.Params {
|
||||
for i, t := range n.FuncType.Params {
|
||||
if i > 0 {
|
||||
fmt.Fprintf(fgcc, ", ")
|
||||
}
|
||||
// We know the type params are correct, because
|
||||
// the Go equivalents had good type params.
|
||||
// However, our version of the type omits the magic
|
||||
// words const and volatile, which can provoke
|
||||
// C compiler warnings. Silence them by casting
|
||||
// all pointers to void*. (Eventually that will produce
|
||||
// other warnings.)
|
||||
if c := t.C.String(); c[len(c)-1] == '*' {
|
||||
fmt.Fprintf(fgcc, "(void*)")
|
||||
}
|
||||
fmt.Fprintf(fgcc, "a->p%d", i)
|
||||
}
|
||||
fmt.Fprintf(fgcc, ");\n")
|
||||
|
Loading…
Reference in New Issue
Block a user