aboutsummaryrefslogtreecommitdiff
path: root/libgo/misc/cgo/test/test.go
diff options
context:
space:
mode:
Diffstat (limited to 'libgo/misc/cgo/test/test.go')
-rw-r--r--libgo/misc/cgo/test/test.go25
1 files changed, 25 insertions, 0 deletions
diff --git a/libgo/misc/cgo/test/test.go b/libgo/misc/cgo/test/test.go
index b014899..35bc3a1 100644
--- a/libgo/misc/cgo/test/test.go
+++ b/libgo/misc/cgo/test/test.go
@@ -897,6 +897,16 @@ static uint16_t issue31093F(uint16_t v) { return v; }
// issue 32579
typedef struct S32579 { unsigned char data[1]; } S32579;
+
+// issue 38649
+// Test that #define'd type aliases work.
+#define netbsd_gid unsigned int
+
+// issue 40494
+// Inconsistent handling of tagged enum and union types.
+enum Enum40494 { X_40494 };
+union Union40494 { int x; };
+void issue40494(enum Enum40494 e, union Union40494* up) {}
*/
import "C"
@@ -2192,3 +2202,18 @@ func test32579(t *testing.T) {
t.Errorf("&s[0].data[0] failed: got %d, want %d", s[0].data[0], 1)
}
}
+
+// issue 38649
+
+var issue38649 C.netbsd_gid = 42
+
+// issue 39877
+
+var issue39877 *C.void = nil
+
+// issue 40494
+// No runtime test; just make sure it compiles.
+
+func Issue40494() {
+ C.issue40494(C.enum_Enum40494(C.X_40494), (*C.union_Union40494)(nil))
+}