aboutsummaryrefslogtreecommitdiff
path: root/misc/cgo/test/issue17537.go
diff options
context:
space:
mode:
Diffstat (limited to 'misc/cgo/test/issue17537.go')
-rw-r--r--misc/cgo/test/issue17537.go16
1 files changed, 16 insertions, 0 deletions
diff --git a/misc/cgo/test/issue17537.go b/misc/cgo/test/issue17537.go
index debdbfe4c5..777104e512 100644
--- a/misc/cgo/test/issue17537.go
+++ b/misc/cgo/test/issue17537.go
@@ -23,6 +23,18 @@ int I17537(S17537 *p);
const int F17537(const char **p) {
return **p;
}
+
+// Calling this function used to trigger an error from the C compiler
+// (issue 18298).
+void F18298(const void *const *p) {
+}
+
+// Test that conversions between typedefs work as they used to.
+typedef const void *T18298_1;
+struct S18298 { int i; };
+typedef const struct S18298 *T18298_2;
+void G18298(T18298_1 t) {
+}
*/
import "C"
@@ -39,4 +51,8 @@ func test17537(t *testing.T) {
if got, want := C.F17537(&p), C.int(17); got != want {
t.Errorf("got %d, want %d", got, want)
}
+
+ C.F18298(nil)
+ var v18298 C.T18298_2
+ C.G18298(C.T18298_1(v18298))
}