فهرست منبع

* fixed currency bugs. Int64 currency handling still needs to be
rewritten so that it doesn't include conversions to real anymore
though

Jonas Maebe 21 سال پیش
والد
کامیت
be0397b1d1
1فایلهای تغییر یافته به همراه12 افزوده شده و 2 حذف شده
  1. 12 2
      compiler/powerpc/nppccnv.pas

+ 12 - 2
compiler/powerpc/nppccnv.pas

@@ -76,8 +76,13 @@ implementation
         fname: string[19];
       begin
         { converting a 64bit integer to a float requires a helper }
-        if is_64bitint(left.resulttype.def) then
+        if is_64bitint(left.resulttype.def) or
+                is_currency(left.resulttype.def) then
           begin
+            { hack to avoid double division by 10000, as it's       }
+            { already done by resulttypepass.resulttype_int_to_real }
+            if is_currency(left.resulttype.def) then
+              left.resulttype := cs64bittype;
             if is_signed(left.resulttype.def) then
               fname := 'fpc_int64_to_double'
             else
@@ -365,7 +370,12 @@ begin
 end.
 {
   $Log$
-  Revision 1.48  2003-12-07 11:21:05  jonas
+  Revision 1.49  2003-12-31 22:30:39  jonas
+    * fixed currency bugs. Int64 currency handling still needs to be
+      rewritten so that it doesn't include conversions to real anymore
+      though
+
+  Revision 1.48  2003/12/07 11:21:05  jonas
     * finally fixed int->bool conversion properly
 
   Revision 1.47  2003/12/04 20:37:02  jonas