github.com/huandu/go@v0.0.0-20151114150818-04e615e41150/misc/cgo/test/issue5603.go (about) 1 // Copyright 2013 The Go Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style 3 // license that can be found in the LICENSE file. 4 5 package cgotest 6 7 /* 8 const long long issue5603exp = 0x12345678; 9 long long issue5603foo0() { return issue5603exp; } 10 long long issue5603foo1(void *p) { return issue5603exp; } 11 long long issue5603foo2(void *p, void *q) { return issue5603exp; } 12 long long issue5603foo3(void *p, void *q, void *r) { return issue5603exp; } 13 long long issue5603foo4(void *p, void *q, void *r, void *s) { return issue5603exp; } 14 */ 15 import "C" 16 17 import "testing" 18 19 func test5603(t *testing.T) { 20 var x [5]int64 21 exp := int64(C.issue5603exp) 22 x[0] = int64(C.issue5603foo0()) 23 x[1] = int64(C.issue5603foo1(nil)) 24 x[2] = int64(C.issue5603foo2(nil, nil)) 25 x[3] = int64(C.issue5603foo3(nil, nil, nil)) 26 x[4] = int64(C.issue5603foo4(nil, nil, nil, nil)) 27 for i, v := range x { 28 if v != exp { 29 t.Errorf("issue5603foo%d() returns %v, expected %v", i, v, exp) 30 } 31 } 32 }