mirror of
https://github.com/golang/go
synced 2024-11-26 23:41:37 -07: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":
|
case "go:yeswritebarrierrec":
|
||||||
return Yeswritebarrierrec
|
return Yeswritebarrierrec
|
||||||
case "go:cgo_unsafe_args":
|
case "go:cgo_unsafe_args":
|
||||||
return CgoUnsafeArgs
|
return CgoUnsafeArgs | NoCheckPtr // implies NoCheckPtr (see #34968)
|
||||||
case "go:uintptrescapes":
|
case "go:uintptrescapes":
|
||||||
// For the next function declared in the file
|
// For the next function declared in the file
|
||||||
// any uintptr arguments may be pointer values
|
// 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 New Issue
Block a user