Changeset 9273


Ignore:
Timestamp:
Apr 24, 2008, 7:56:43 PM (12 years ago)
Author:
rme
Message:

Still mostly useless generate-callback-bindings.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/ia32/lib/ffi-darwinx8632.lisp

    r8653 r9273  
    109109            (offset 0 (+ offset delta)))
    110110           ((null argvars)
    111             (values (rlets) (lets) (dynamic-extent-names) (inits) rtype nil 4)))))
    112        
    113   (format t "~&in generate-callback-bindings")
    114   )
     111            (values (rlets) (lets) (dynamic-extent-names) (inits) rtype nil 4))
     112        (let* ((name (car argvars))
     113               (spec (car argspecs))
     114               (argtype (parse-foreign-type spec))
     115               (bits (require-foreign-type-bits argtype)))
     116          (if (typep argtype 'foreign-record-type)
     117            (progn
     118              (format t "~& arg is some foreign type"))
     119            (lets (list name
     120                        `(,
     121                          (ecase (foreign-type-to-representation-type argtype)
     122                            (:single-float '%get-single-float)
     123                            (:double-float '%get-double-float)
     124                            (:signed-doubleword '%%get-signed-longlong)
     125                            (:signed-fullword '%get-signed-long)
     126                            (:signed-halfword '%get-signed-word)
     127                            (:signed-byte '%get-signed-byte)
     128                            (:unsigned-doubleword '%%get-unsigned-longlong)
     129                            (:unsigned-fullword '%get-unsigned-long)
     130                            (:unsigned-halfword '%get-unsigned-word)
     131                            (:unsigned-byte '%get-unsigned-byte)
     132                            (:address '%get-ptr))
     133                          ,stack-ptr)))))))))
    115134
    116135(defun x86-darwin32::generate-callback-return-value (stack-ptr fp-args-ptr result return-type struct-return-arg)
Note: See TracChangeset for help on using the changeset viewer.