diff options
Diffstat (limited to 'misc/cgo/test/issue42018_windows.go')
-rw-r--r-- | misc/cgo/test/issue42018_windows.go | 46 |
1 files changed, 0 insertions, 46 deletions
diff --git a/misc/cgo/test/issue42018_windows.go b/misc/cgo/test/issue42018_windows.go deleted file mode 100644 index 8f4570ab2a..0000000000 --- a/misc/cgo/test/issue42018_windows.go +++ /dev/null @@ -1,46 +0,0 @@ -// Copyright 2021 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 cgotest - -/* -typedef void *HANDLE; - -struct HWND__{int unused;}; typedef struct HWND__ *HWND; -*/ -import "C" - -import ( - "testing" - "unsafe" -) - -func test42018(t *testing.T) { - // Test that Windows handles are marked go:notinheap, by growing the - // stack and checking for pointer adjustments. Trick from - // test/fixedbugs/issue40954.go. - var i int - handle := C.HANDLE(unsafe.Pointer(uintptr(unsafe.Pointer(&i)))) - recurseHANDLE(100, handle, uintptr(unsafe.Pointer(&i))) - hwnd := C.HWND(unsafe.Pointer(uintptr(unsafe.Pointer(&i)))) - recurseHWND(400, hwnd, uintptr(unsafe.Pointer(&i))) -} - -func recurseHANDLE(n int, p C.HANDLE, v uintptr) { - if n > 0 { - recurseHANDLE(n-1, p, v) - } - if uintptr(unsafe.Pointer(p)) != v { - panic("adjusted notinheap pointer") - } -} - -func recurseHWND(n int, p C.HWND, v uintptr) { - if n > 0 { - recurseHWND(n-1, p, v) - } - if uintptr(unsafe.Pointer(p)) != v { - panic("adjusted notinheap pointer") - } -} |