summaryrefslogtreecommitdiff
path: root/libgo/misc/cgo/test/checkconst.go
diff options
context:
space:
mode:
Diffstat (limited to 'libgo/misc/cgo/test/checkconst.go')
-rw-r--r--libgo/misc/cgo/test/checkconst.go33
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)
+}