+++ /dev/null
-// Copyright 2015 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.
-
-// This file contains tests for the cgo checker.
-
-package a
-
-// void f(void *ptr) {}
-import "C"
-
-import "unsafe"
-
-func CgoTests() {
- var c chan bool
- C.f(*(*unsafe.Pointer)(unsafe.Pointer(&c))) // want "embedded pointer"
- C.f(unsafe.Pointer(&c)) // want "embedded pointer"
-
- var m map[string]string
- C.f(*(*unsafe.Pointer)(unsafe.Pointer(&m))) // want "embedded pointer"
- C.f(unsafe.Pointer(&m)) // want "embedded pointer"
-
- var f func()
- C.f(*(*unsafe.Pointer)(unsafe.Pointer(&f))) // want "embedded pointer"
- C.f(unsafe.Pointer(&f)) // want "embedded pointer"
-
- var s []int
- C.f(*(*unsafe.Pointer)(unsafe.Pointer(&s))) // want "embedded pointer"
- C.f(unsafe.Pointer(&s)) // want "embedded pointer"
-
- var a [1][]int
- C.f(*(*unsafe.Pointer)(unsafe.Pointer(&a))) // want "embedded pointer"
- C.f(unsafe.Pointer(&a)) // want "embedded pointer"
-
- var st struct{ f []int }
- C.f(*(*unsafe.Pointer)(unsafe.Pointer(&st))) // want "embedded pointer"
- C.f(unsafe.Pointer(&st)) // want "embedded pointer"
-
- var st3 S
- C.f(*(*unsafe.Pointer)(unsafe.Pointer(&st3))) // want "embedded pointer"
- C.f(unsafe.Pointer(&st3)) // want "embedded pointer"
-
- // The following cases are OK.
- var i int
- C.f(*(*unsafe.Pointer)(unsafe.Pointer(&i)))
- C.f(unsafe.Pointer(&i))
-
- C.f(*(*unsafe.Pointer)(unsafe.Pointer(&s[0])))
- C.f(unsafe.Pointer(&s[0]))
-
- var a2 [1]int
- C.f(*(*unsafe.Pointer)(unsafe.Pointer(&a2)))
- C.f(unsafe.Pointer(&a2))
-
- var st2 struct{ i int }
- C.f(*(*unsafe.Pointer)(unsafe.Pointer(&st2)))
- C.f(unsafe.Pointer(&st2))
-
- var st4 S2
- C.f(*(*unsafe.Pointer)(unsafe.Pointer(&st4)))
- C.f(unsafe.Pointer(&st4))
-
- type cgoStruct struct{ p *cgoStruct }
- C.f(unsafe.Pointer(&cgoStruct{}))
-
- C.CBytes([]byte("hello"))
-}
-
-type S struct{ slice []int }
-
-type S2 struct{ int int }