2
0
Эх сурвалжийг харах

* fixed double comparison on wince

git-svn-id: trunk@1262 -
florian 20 жил өмнө
parent
commit
d9c071da6d
2 өөрчлөгдсөн 25 нэмэгдсэн , 5 устгасан
  1. 2 2
      compiler/nadd.pas
  2. 23 3
      rtl/wince/system.pp

+ 2 - 2
compiler/nadd.pas

@@ -1817,7 +1817,7 @@ implementation
 
         if not(target_info.system in system_wince) then
           begin
-            case tfloatdef(resulttype.def).typ of
+            case tfloatdef(left.resulttype.def).typ of
               s32real:
                 procname:='float32';
               s64real:
@@ -1889,7 +1889,7 @@ implementation
               else
                 CGMessage3(type_e_operator_not_supported_for_types,node2opstr(nodetype),left.resulttype.def.typename,right.resulttype.def.typename);
             end;
-            case tfloatdef(resulttype.def).typ of
+            case tfloatdef(left.resulttype.def).typ of
               s32real:
                 procname:=procname+'S';
               s64real:

+ 23 - 3
rtl/wince/system.pp

@@ -110,6 +110,26 @@ function muld(d1,d2 : double) : double; compilerproc;
 function divd(d1,d2 : double) : double; compilerproc;
    cdecl;external 'coredll' name '__divd';
 
+function eqd(d1,d2 : double) : boolean; compilerproc;
+   cdecl;external 'coredll' name '__eqd';
+
+function ned(d1,d2 : double) : boolean; compilerproc;
+   cdecl;external 'coredll' name '__ned';
+
+function ltd(d1,d2 : double) : boolean; compilerproc;
+   cdecl;external 'coredll' name '__ltd';
+
+function gtd(d1,d2 : double) : boolean; compilerproc;
+   cdecl;external 'coredll' name '__gtd';
+
+function ged(d1,d2 : double) : boolean; compilerproc;
+   cdecl;external 'coredll' name '__ged';
+
+function led(d1,d2 : double) : boolean; compilerproc;
+   cdecl;external 'coredll' name '__led';
+
+{ ***************** single ******************** }
+
 function eqs(d1,d2 : single) : boolean; compilerproc;
    cdecl;external 'coredll' name '__eqs';
 
@@ -162,7 +182,7 @@ var
 
 function MessageBox(w1:longint;l1,l2:PWideChar;w2:longint):longint;
    stdcall;external 'coredll' name 'MessageBoxW';
-   
+
 {*****************************************************************************}
 
 {$define FPC_SYSTEM_HAS_MOVE}
@@ -1400,7 +1420,7 @@ procedure WinCEWide2AnsiMove(source:pwidechar;var dest:ansistring;len:SizeInt);
       setlength(dest, len);
     end;
   end;
-  
+
 procedure WinCEAnsi2WideMove(source:pchar;var dest:widestring;len:SizeInt);
   var
     i: integer;
@@ -1419,7 +1439,7 @@ procedure WinCEAnsi2WideMove(source:pchar;var dest:widestring;len:SizeInt);
       setlength(dest, len);
     end;
   end;
-  
+
 function WinCEWideUpper(const s : WideString) : WideString;
   begin
     result:=s;