Ignore:
Timestamp:
May 17, 2005, 9:48:18 AM (15 years ago)
Author:
gb
Message:

ftd-attributes is now a plist; use its :bits-per-word key to determine
bit size of primitive :long, :unsigned-long types.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/ccl/library/parse-ffi.lisp

    r1172 r1452  
    367367     (list :primitive
    368368           (ecase (car spec)
    369              (:char (if (member :signed-char
     369             (:char (if (getf :signed-char
    370370                               (ftd-attributes *parse-ffi-target-ftd*))
    371371                      '(:signed 8)
     
    375375             (:short '(:signed 16))
    376376             (:unsigned-short '(:unsigned 16))
    377              ((:int :long)  '(:signed 32))
    378              ((:unsigned :unsigned-long) '(:unsigned 32))
     377             (:int '(:signed 32))
     378             (:long (ecase (getf :bits-per-word
     379                                (ftd-attributes *parse-ffi-target-ftd*))
     380                      (32 '(:signed 32))
     381                      (64 '(:signed 64))))
     382             (:unsigned  '(:unsigned 32))
     383             (:unsigned-long (ecase (getf :bits-per-word
     384                                (ftd-attributes *parse-ffi-target-ftd*))
     385                               (32 '(:unsigned 32))
     386                               (64 '(:unsigned 64))))
    379387             (:long-long '(:signed 64))
    380388             (:unsigned-long-long '(:unsigned 64))
Note: See TracChangeset for help on using the changeset viewer.