+ (* 65536 (char-code #\B))
+ (* 256 (char-code #\C))
+ (* 1 128)))
+
+(deftest :union.1
+ (uffi:ensure-char-character
+ (uffi:get-slot-value *u* 'tunion1 'char))
+ #\A)
+
+(deftest :union.2
+ (uffi:ensure-char-integer
+ (uffi:get-slot-value *u* 'tunion1 'char))
+ 65)
+
+#-(or sparc sparc-v9 openmcl digitool)
+(deftest :union.3 (plusp (uffi:get-slot-value *u* 'tunion1 'uint)) t)
+
+
+#-openmcl
+(uffi:def-union foo-u
+ (bar :pointer-self))
+
+#-openmcl
+(uffi:def-foreign-type foo-u-ptr (* foo-u))
+
+;; tests that compilation worked
+#-openmcl
+(deftest :unions.4
+ (with-foreign-object (p 'foo-u)
+ t)
+ t)