commit | a295d59d10d87ea882ddc8db6919a278b3a67d01 | [log] [tgz] |
---|---|---|
author | Matthew Dempsky <mdempsky@google.com> | Fri Jun 26 11:26:33 2020 -0700 |
committer | Matthew Dempsky <mdempsky@google.com> | Fri Jun 26 19:00:25 2020 +0000 |
tree | adf7d0eee53dd770ec7f45a4629269cabbc2a951 | |
parent | 3c474d4164990c10c48c2b881211b6af95058be9 [diff] |
cmd/cgo: prevent redeclaration of _Ctype_void when C.void is used CL 230037 changed cmd/cgo to emit "type _Ctype_foo = bar" aliases for all C.foo types mentioned in the original Go source files. However, cmd/cgo already emits an appropriate type definition for _Ctype_void. So if a source file explicitly mentions C.void, this resulted in _Ctype_void being declared multiple times. This CL fixes the issue by suppressing the "type _Ctype_void = _Ctype_void" alias before printing it. This should be safe because _Ctype_void is the only type that's specially emitted in out.go at the moment. A somewhat better fix might be to fix how _Ctype_void is declared in the cmd/cgo "frontend", but this is a less invasive fix. Fixes #39877. Change-Id: Ief264b3847c8ef8df1478a6333647ff2cf09b63d Reviewed-on: https://go-review.googlesource.com/c/go/+/240180 Run-TryBot: Matthew Dempsky <mdempsky@google.com> Reviewed-by: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
Go is an open source programming language that makes it easy to build simple, reliable, and efficient software.
Gopher image by Renee French, licensed under Creative Commons 3.0 Attributions license.
Our canonical Git repository is located at https://go.googlesource.com/go. There is a mirror of the repository at https://github.com/golang/go.
Unless otherwise noted, the Go source files are distributed under the BSD-style license found in the LICENSE file.
Official binary distributions are available at https://golang.org/dl/.
After downloading a binary release, visit https://golang.org/doc/install or load doc/install.html in your web browser for installation instructions.
If a binary distribution is not available for your combination of operating system and architecture, visit https://golang.org/doc/install/source or load doc/install-source.html in your web browser for source installation instructions.
Go is the work of thousands of contributors. We appreciate your help!
To contribute, please read the contribution guidelines: https://golang.org/doc/contribute.html
Note that the Go project uses the issue tracker for bug reports and proposals only. See https://golang.org/wiki/Questions for a list of places to ask questions about the Go language.