Index: /trunk/ccl/lib/foreign-types.lisp
===================================================================
--- /trunk/ccl/lib/foreign-types.lisp	(revision 5522)
+++ /trunk/ccl/lib/foreign-types.lisp	(revision 5523)
@@ -981,10 +981,12 @@
   (declare (type foreign-record-type result)
 	   (type list fields))
-  (let ((total-bits 0)
-	(overall-alignment 1)
-	(parsed-fields nil)
-	#+poweropen-target
-	(first-field-p t)
-	(alt-alignment (foreign-record-type-alt-align result)))
+  (let* ((total-bits 0)
+         (overall-alignment 1)
+         (parsed-fields nil)
+         (first-field-p t)
+         (alt-alignment (foreign-record-type-alt-align result))
+         (attributes (ftd-attributes *target-ftd*))
+         (poweropen-alignment (getf attributes :poweropen-alignment)))
+          
     (dolist (field fields)
       (destructuring-bind (var type &optional bits) field
@@ -995,12 +997,11 @@
 	       (alignment (if alt-alignment
 			    (min natural-alignment alt-alignment)
-			    #+poweropen-target
-			    (if first-field-p
-			      (progn
-				(setq first-field-p nil)
-				natural-alignment)
-			      (min 32 natural-alignment))
-			    #-poweropen-target
-			    natural-alignment))
+			    (if poweropen-alignment
+                              (if first-field-p
+                                (progn
+                                  (setq first-field-p nil)
+                                  natural-alignment)
+                                (min 32 natural-alignment))
+                              natural-alignment)))
 	       (parsed-field
 		(make-foreign-record-field :type field-type
