mirror of
https://github.com/golang/go
synced 2024-11-14 05:30:21 -07:00
[release-branch.go1.15] doc/go1.15: mention 1.15.3 cgo restriction on empty structs
For #40954
Change-Id: I6a30aed31a16e820817f4ca5c7f591222e922946
Reviewed-on: https://go-review.googlesource.com/c/go/+/277432
Trust: Ian Lance Taylor <iant@golang.org>
Reviewed-by: Keith Randall <khr@golang.org>
(cherry picked from commit 129bb1917b
)
Reviewed-on: https://go-review.googlesource.com/c/go/+/278573
Run-TryBot: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
This commit is contained in:
parent
9b955d2d3f
commit
069f9d96d1
@ -397,6 +397,19 @@ Do not send CLs removing the interior tags from such phrases.
|
||||
documentation</a> for more information.
|
||||
</p>
|
||||
|
||||
<p><!-- CL 250940 -->
|
||||
In Go 1.15.3 and later, cgo will not permit Go code to allocate an
|
||||
undefined struct type (a C struct defined as just <code>struct
|
||||
S;</code> or similar) on the stack or heap.
|
||||
Go code will only be permitted to use pointers to those types.
|
||||
Allocating an instance of such a struct and passing a pointer, or a
|
||||
full struct value, to C code was always unsafe and unlikely to work
|
||||
correctly; it is now forbidden.
|
||||
The fix is to either rewrite the Go code to use only pointers, or to
|
||||
ensure that the Go code sees the full definition of the struct by
|
||||
including the appropriate C header file.
|
||||
</p>
|
||||
|
||||
<h3 id="commonname">X.509 CommonName deprecation</h3>
|
||||
|
||||
<p><!-- CL 231379 -->
|
||||
|
Loading…
Reference in New Issue
Block a user