summaryrefslogtreecommitdiff
path: root/tests/compile/cdefemptysue.pyx
diff options
context:
space:
mode:
Diffstat (limited to 'tests/compile/cdefemptysue.pyx')
-rw-r--r--tests/compile/cdefemptysue.pyx43
1 files changed, 43 insertions, 0 deletions
diff --git a/tests/compile/cdefemptysue.pyx b/tests/compile/cdefemptysue.pyx
new file mode 100644
index 000000000..1baf67d36
--- /dev/null
+++ b/tests/compile/cdefemptysue.pyx
@@ -0,0 +1,43 @@
+# mode: compile
+# tag: struct, union, enum, cdefextern
+
+cdef extern from *:
+ """
+ struct spam { int a; };
+ struct flat_spam { int a; };
+ typedef struct { int a; } flat_spam_type;
+
+ typedef union { int a; long b; } eggs;
+ typedef union { int a; long b; } flat_eggs;
+
+ enum ham { TOAST };
+ enum flat_ham { FLAT_TOAST };
+ """
+
+ cdef struct spam:
+ pass
+
+ cdef struct flat_spam: pass
+
+ ctypedef struct flat_spam_type: pass
+
+ ctypedef union eggs:
+ pass
+
+ ctypedef union flat_eggs: pass
+
+ cdef enum ham:
+ pass
+
+ cdef enum flat_ham: pass
+
+
+cdef extern spam s
+cdef extern flat_spam fs
+cdef extern flat_spam_type fst
+
+cdef extern eggs e
+cdef extern flat_eggs fe
+
+cdef extern ham h
+cdef extern flat_ham fh