;;; void conflicted with derived type
(declaim (inline bug-316075))
+#-win32 ;kludge: This reader conditional masks a bug, but allows the test
+ ;to fail cleanly.
(sb-alien:define-alien-routine bug-316075 void (result char :out))
-(with-test (:name bug-316075)
+(with-test (:name bug-316075 :fails-on :win32)
+ #+win32 (error "fail")
(handler-bind ((warning #'error))
(compile nil '(lambda () (multiple-value-list (bug-316075))))))
(compiler-note (n)
(error "bad note: ~A" n))))
-(with-test (:name :bug-721087)
+(with-test (:name :bug-721087 :fails-on :win32)
(assert (typep nil '(alien c-string)))
(assert (not (typep nil '(alien (c-string :not-null t)))))
(assert (eq :ok
(assert
(eq :multibyte-4
(handler-case
- (let ((c-string (coerce #(70 111 246 0)
+ ;; KLUDGE, sort of.
+ ;;
+ ;; C-STRING decoding doesn't know how long the string is, and since this
+ ;; looks like a 4-byte sequence, it will grab 4 octets off the end.
+ ;;
+ ;; So we pad the vector for safety's sake.
+ (let ((c-string (coerce #(70 111 246 0 0 0)
'(vector (unsigned-byte 8)))))
(sb-sys:with-pinned-objects (c-string)
(sb-alien::c-string-to-string (sb-sys:vector-sap c-string)