mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-19 20:39:25 +02:00
* Fixed integer to single conversion for arm-wince. It fixes tw8055.pp test.
git-svn-id: trunk@7757 -
This commit is contained in:
parent
2794cef7b7
commit
5b5050a09c
@ -1995,19 +1995,23 @@ implementation
|
||||
if is_currency(left.resultdef) then
|
||||
left.resultdef := s64inttype;
|
||||
if is_signed(left.resultdef) then
|
||||
fname:='I64TOD'
|
||||
fname:='I64TO'
|
||||
else
|
||||
fname:='UI64TOD';
|
||||
fname:='UI64TO';
|
||||
end
|
||||
else
|
||||
{ other integers are supposed to be 32 bit }
|
||||
begin
|
||||
if is_signed(left.resultdef) then
|
||||
fname:='ITOD'
|
||||
fname:='ITO'
|
||||
else
|
||||
fname:='UTOD';
|
||||
fname:='UTO';
|
||||
firstpass(left);
|
||||
end;
|
||||
if tfloatdef(resultdef).floattype=s64real then
|
||||
fname:=fname+'D'
|
||||
else
|
||||
fname:=fname+'S';
|
||||
result:=ccallnode.createintern(fname,ccallparanode.create(
|
||||
left,nil));
|
||||
left:=nil;
|
||||
|
@ -174,6 +174,18 @@ function ui64tod(i : qword) : double; compilerproc;
|
||||
|
||||
function i64tod(i : int64) : double; compilerproc;
|
||||
cdecl;external 'coredll' name '__i64tod';
|
||||
|
||||
function utos(i : dword) : single; compilerproc;
|
||||
cdecl;external 'coredll' name '__utos';
|
||||
|
||||
function itos(i : longint) : single; compilerproc;
|
||||
cdecl;external 'coredll' name '__itos';
|
||||
|
||||
function ui64tos(i : qword) : single; compilerproc;
|
||||
cdecl;external 'coredll' name '__u64tos';
|
||||
|
||||
function i64tos(i : int64) : single; compilerproc;
|
||||
cdecl;external 'coredll' name '__i64tos';
|
||||
|
||||
function adds(s1,s2 : single) : single; compilerproc;
|
||||
function subs(s1,s2 : single) : single; compilerproc;
|
||||
|
Loading…
Reference in New Issue
Block a user