// 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) }