Changeset 11360


Ignore:
Timestamp:
Nov 14, 2008, 9:08:18 PM (11 years ago)
Author:
rme
Message:

x86-darwin32::expand-ff-call: produce correct expansion for non-scalar
args.

x86-darwin32::generate-callback-bindings: Avoid a compiler warning by
not mentioning INITS in the COLLECT form. We don't need any
initialization forms on x8632 (all arguments are passed on the stack).

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/lib/ffi-darwinx8632.lisp

    r11357 r11360  
    6666              (let* ((ftype (parse-foreign-type arg-type-spec))
    6767                     (bits (ensure-foreign-type-bits ftype)))
    68                 (if (and (typep ftype 'foreign-record-type)
    69                          (<= bits 32))
     68                (if (typep ftype 'foreign-record-type)
    7069                  (argforms (ceiling bits 32))
    71                   (argforms (foreign-type-to-representation-type ftype)))
     70                  (argforms (foreign-type-to-representation-type ftype)))
    7271                (argforms (funcall arg-coerce arg-type-spec arg-value-form))))))
    7372          (argforms (foreign-type-to-representation-type result-type))
     
    8685;;; A list of LET* bindings
    8786;;; A list of DYNAMIC-EXTENT declarations for the LET* bindings
    88 ;;; A list of initializaton forms for (some) structure args
     87;;; A list of initializaton forms for (some) structure args (not used on x8632)
    8988;;; A FOREIGN-TYPE representing the "actual" return type.
    9089;;; A form which can be used to initialize FP-ARGS-PTR, relative
     
    9695  (collect ((lets)
    9796            (rlets)
    98             (inits)
    9997            (dynamic-extent-names))
    10098    (let* ((rtype (parse-foreign-type result-spec)))
     
    109107            (offset 8))
    110108           ((null argvars)
    111             (values (rlets) (lets) (dynamic-extent-names) (inits) rtype nil 4))
     109            (values (rlets) (lets) (dynamic-extent-names) nil rtype nil 4))
    112110        (let* ((name (car argvars))
    113111               (spec (car argspecs))
Note: See TracChangeset for help on using the changeset viewer.