mirror of
https://github.com/golang/go
synced 2024-09-04 23:44:16 +00:00
cmd/compile: disable checkptr for //go:cgo_unsafe_args functions
Fixes #34968. Change-Id: I538d653fab6cf7cf9b9b7022a1c2d4ae6ee497b6 Reviewed-on: https://go-review.googlesource.com/c/go/+/201823 Run-TryBot: Matthew Dempsky <mdempsky@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
This commit is contained in:
parent
ab81efa3dc
commit
8c6876e9a4
|
@ -75,7 +75,7 @@ func pragmaValue(verb string) syntax.Pragma {
|
|||
case "go:yeswritebarrierrec":
|
||||
return Yeswritebarrierrec
|
||||
case "go:cgo_unsafe_args":
|
||||
return CgoUnsafeArgs
|
||||
return CgoUnsafeArgs | NoCheckPtr // implies NoCheckPtr (see #34968)
|
||||
case "go:uintptrescapes":
|
||||
// For the next function declared in the file
|
||||
// any uintptr arguments may be pointer values
|
||||
|
|
15
test/fixedbugs/issue34968.go
Normal file
15
test/fixedbugs/issue34968.go
Normal file
|
@ -0,0 +1,15 @@
|
|||
// +build cgo
|
||||
// run -gcflags=all=-d=checkptr
|
||||
|
||||
// Copyright 2019 The Go Authors. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
package main
|
||||
|
||||
// #include <stdlib.h>
|
||||
import "C"
|
||||
|
||||
func main() {
|
||||
C.malloc(100)
|
||||
}
|
Loading…
Reference in a new issue