Browse Source

* fix to align float64 correctly

git-svn-id: trunk@19791 -
florian 13 years ago
parent
commit
41636711e4
1 changed files with 6 additions and 2 deletions
  1. 6 2
      rtl/inc/softfpu.pp

+ 6 - 2
rtl/inc/softfpu.pp

@@ -147,8 +147,12 @@ TYPE
     high : qword;
     high : qword;
   end;
   end;
 {$else}
 {$else}
-  float64 = packed record
-    high,low : bits32;
+  float64 = record
+      case byte of
+        1: (high,low : bits32);
+        // force the record to be aligned like a double
+        // else *_to_double will fail for cpus like sparc
+        2: (dummy : double);
   end;
   end;
 
 
   int64rec = packed record
   int64rec = packed record