From: Paul Khuong Date: Fri, 7 Jun 2013 22:42:42 +0000 (-0400) Subject: Fix negation of SIMD-PACK types X-Git-Url: http://repo.macrolet.net/gitweb/?a=commitdiff_plain;h=4f0bd9304dfa5010e2c7f17d7cecde0bba6c578e;hp=51bc001b7a98af096af782a672389e51004af068;p=sbcl.git Fix negation of SIMD-PACK types type-union2 can punt and return NIL. --- diff --git a/NEWS b/NEWS index 1390418..443728d 100644 --- a/NEWS +++ b/NEWS @@ -21,6 +21,7 @@ changes relative to sbcl-1.1.8: * bug fix: during disassembly to *COMPILER-TRACE-OUTPUT* instruction prefixes as used on x86 and x86-64 no longer sometimes print incorrectly. (lp#1085729) + * bug fix: Specialised SIMD-PACK types can be negated. changes in sbcl-1.1.8 relative to sbcl-1.1.7: * notice: The implementation of MAP-ALLOCATED-OBJECTS (the heart of diff --git a/src/code/late-type.lisp b/src/code/late-type.lisp index cf7e9a0..04a93f2 100644 --- a/src/code/late-type.lisp +++ b/src/code/late-type.lisp @@ -3510,7 +3510,7 @@ used for a COMPLEX component.~:@>" (simd-pack-type-element-type type))) (not-simd-pack (make-negation-type :type (specifier-type 'simd-pack)))) (if remaining - (type-union2 not-simd-pack (%make-simd-pack-type remaining)) + (type-union not-simd-pack (%make-simd-pack-type remaining)) not-simd-pack))) (!define-type-method (simd-pack :unparse) (type)