Changeset 336


Ignore:
Timestamp:
Jan 19, 2004, 4:37:34 PM (21 years ago)
Author:
Gary Byers
Message:

(Finally) try to handle odd poweropen struct alignment rules.
Pad :DBM_CONSTANT to naturally align double-float field, since unnatural
alignment is now the norm.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/ccl/lib/db-io.lisp

    r37 r336  
    432432  (:struct dbm-constant
    433433   (:class (:unsigned 32))
     434   (:pad (:unsigned 32))
    434435   (:value
    435436    (:union nil
     
    12401241  (let* ((total-bits 0)
    12411242         (overall-alignment 1)
     1243         #+poweropen-target
     1244         (first-field-p t)
    12421245         (kind (foreign-record-type-kind rtype)))
    12431246    (dolist (field parsed-fields)
     
    12471250             (alignment (if alt-align
    12481251                          (min natural-alignment alt-align)
     1252                          #+poweropen-target
     1253                          (if first-field-p
     1254                            (progn
     1255                              (setq first-field-p nil)
     1256                              natural-alignment)
     1257                            (min 32 natural-alignment))
     1258                          #-poweropen-target
    12491259                          natural-alignment)))
    12501260        (unless bits
Note: See TracChangeset for help on using the changeset viewer.