mirror of
https://github.com/golang/go
synced 2024-11-14 22:50:27 -07:00
df009eead9
When there are multiple declarations of a function, ensure that those declarations at least agree on the size/alignment of arguments and return values. It's hard to be stricter given existing code and situations where arguments differ only by typedefs. For instance: int usleep(unsigned); int usleep(useconds_t); Fixes #67699. Change-Id: I3b4b17afee92b55f9e712b4590ec608ab1f7ac91 Reviewed-on: https://go-review.googlesource.com/c/go/+/588977 Auto-Submit: Keith Randall <khr@golang.org> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Keith Randall <khr@google.com> Reviewed-by: Ian Lance Taylor <iant@google.com>
508 B
508 B
Tools
Go command
Cgo
Cgo currently refuses to compile calls to a C function which has multiple
incompatible declarations. For instance, if f
is declared as both void f(int)
and void f(double)
, cgo will report an error instead of possibly generating an
incorrect call sequence for f(0)
. New in this release is a better detector for
this error condition when the incompatible declarations appear in different
files. See #67699.