aboutsummaryrefslogtreecommitdiff
path: root/misc/cgo/test/issue26517.go
diff options
context:
space:
mode:
Diffstat (limited to 'misc/cgo/test/issue26517.go')
-rw-r--r--misc/cgo/test/issue26517.go23
1 files changed, 23 insertions, 0 deletions
diff --git a/misc/cgo/test/issue26517.go b/misc/cgo/test/issue26517.go
new file mode 100644
index 0000000000..c1bf1c9213
--- /dev/null
+++ b/misc/cgo/test/issue26517.go
@@ -0,0 +1,23 @@
+// Copyright 2018 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.
+
+package cgotest
+
+// Introduce two pointer types which are distinct, but have the same
+// base type. Make sure that both of those pointer types get resolved
+// correctly. Before the fix for 26517 if one of these pointer types
+// was resolved before the other one was processed, the second one
+// would never be resolved.
+// Before this issue was fixed this test failed on Windows,
+// where va_list expands to a named char* type.
+
+/*
+#include <stdarg.h>
+typedef va_list TypeOne;
+typedef char *TypeTwo;
+*/
+import "C"
+
+var a C.TypeOne
+var b C.TypeTwo