| // Copyright 2013 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 test cases for cgo with function pointer variables. |
| typedef int (*intFunc) (); |
| bridge_int_func(intFunc f) |
| func callBridge(f C.intFunc) int { |
| return int(C.bridge_int_func(f)) |
| func callCBridge(f C.intFunc) C.int { |
| return C.bridge_int_func(f) |
| func testFpVar(t *testing.T) { |
| f := C.intFunc(C.fortytwo) |
| res1 := C.bridge_int_func(f) |
| if r1 := int(res1); r1 != expected { |
| t.Errorf("got %d, want %d", r1, expected) |
| if r2 := int(res2); r2 != expected { |
| t.Errorf("got %d, want %d", r2, expected) |
| t.Errorf("got %d, want %d", r3, expected) |