[Openmcl-cvs-notifications] r14724 - /trunk/source/lib/foreign-types.lisp

gb at clozure.com gb at clozure.com
Fri Apr 22 14:35:38 CDT 2011


Author: gb
Date: Fri Apr 22 14:35:38 2011
New Revision: 14724

Log:
In %FOREIGN-ARRAY-ACCESS-FORM (which generates the expansion of PAREF),
treat non-pointer/array foreign types as shorthand for a pointer to
the indicated type, e.g., (PAREF P :DOUBLE I) and (PAREF P (:* :DOUBLE) I)
are now equivalent.

Modified:
    trunk/source/lib/foreign-types.lisp

Modified: trunk/source/lib/foreign-types.lisp
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/source/lib/foreign-types.lisp (original)
+++ trunk/source/lib/foreign-types.lisp Fri Apr 22 14:35:38 2011
@@ -1361,7 +1361,9 @@
                   (foreign-pointer-type-to type)))
             (size (foreign-type-bits to))
             (bit-offset `(the fixnum (* ,size (the fixnum ,index-form)))))
-       (invoke-foreign-type-method :extract-gen to base-form bit-offset)))=
))
+       (invoke-foreign-type-method :extract-gen to base-form bit-offset)))
+    (foreign-type
+     (%foreign-array-access-form base-form (make-foreign-pointer-type :to =
type) index-form))))
 =

 =

 =




More information about the Openmcl-cvs-notifications mailing list