Changeset 5743


Ignore:
Timestamp:
Jan 20, 2007, 6:17:40 PM (18 years ago)
Author:
Gary Byers
Message:

ftd's :ff-call-expand-function is os::expand-ff-call.

Canonicalize the :void type a bit better.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/ccl/lib/foreign-types.lisp

    r5717 r5743  
    7575                      :prepend-underscores #+darwinppc-target t #-darwinppc-target nil)
    7676                    :ff-call-expand-function
    77                     #+(and darwinppc-target 32-bit-target) 'ppc32::darwin-expand-ff-call
    78                     #+(and darwinppc-target 64-bit-target) 'ppc64::darwin-expand-ff-call
    79                     #+(and linuxppc-target 32-bit-target) 'ppc32::linux-expand-ff-call
    80                     #+(and linuxppc-target 64-bit-target) 'ppc64::linux-expand-ff-call
    81                     #+linuxx8664-target 'x8664::linux-expand-ff-call
    82                     #+darwinx8664-target 'x8664:::darwin-expand-ff-call
    83                     #+freebsdx8664-target 'x8664:::freebsd-expand-ff-call
    84  
     77                    'os::expand-ff-call
    8578                    ))
    8679                   
     
    332325
    333326(defmethod make-load-form ((s foreign-type) &optional env)
    334   (make-load-form-saving-slots s :environment env))
     327  (if (eq s *void-foreign-type*)
     328    '*void-foreign-type*
     329    (make-load-form-saving-slots s :environment env)))
    335330
    336331
     
    15231518          (typep f 'unsigned-byte))
    15241519    f
    1525     (let* ((ftype (parse-foreign-type f)))
     1520    (let* ((ftype (if (typep f 'foreign-type)
     1521                    f
     1522                    (parse-foreign-type f))))
    15261523      (or
    15271524       (and (eq (foreign-type-class ftype) 'root) :void)         
    15281525       (typecase ftype
    1529          (foreign-pointer-type :address)
     1526         ((or foreign-pointer-type foreign-array-type) :address)
    15301527         (foreign-double-float-type :double-float)
    15311528         (foreign-single-float-type :single-float)
     
    15501547                    (if (<= bits 64)
    15511548                      :unsigned-doubleword)))))))
    1552          ((or foreign-record-type foreign-array-type)
     1549         (foreign-record-type
    15531550          (if (getf (ftd-attributes *target-ftd*)
    15541551                  :struct-by-value)
Note: See TracChangeset for help on using the changeset viewer.