diff options
Diffstat (limited to 'libgo/misc/cgo/test/checkconst.go')
-rw-r--r-- | libgo/misc/cgo/test/checkconst.go | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/libgo/misc/cgo/test/checkconst.go b/libgo/misc/cgo/test/checkconst.go new file mode 100644 index 00000000000..0160c1e0ced --- /dev/null +++ b/libgo/misc/cgo/test/checkconst.go @@ -0,0 +1,33 @@ +// Copyright 2016 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. + +// Test a constant in conjunction with pointer checking. + +package cgotest + +/* +#include <stdlib.h> + +#define CheckConstVal 0 + +typedef struct { + int *p; +} CheckConstStruct; + +static void CheckConstFunc(CheckConstStruct *p, int e) { +} +*/ +import "C" + +import ( + "testing" + "unsafe" +) + +func testCheckConst(t *testing.T) { + // The test is that this compiles successfully. + p := C.malloc(C.size_t(unsafe.Sizeof(C.int(0)))) + defer C.free(p) + C.CheckConstFunc(&C.CheckConstStruct{(*C.int)(p)}, C.CheckConstVal) +} |