diff --git a/compiler/ncnv.pas b/compiler/ncnv.pas index 174f1334e8..e1110ed408 100644 --- a/compiler/ncnv.pas +++ b/compiler/ncnv.pas @@ -1854,6 +1854,11 @@ implementation case tfloatdef(resulttype.def).typ of s64real: result:=ccallnode.createintern('STOD',ccallparanode.create(left,nil)); + s32real: + begin + result:=left; + left:=nil; + end; else internalerror(2005082704); end; @@ -1861,6 +1866,11 @@ implementation case tfloatdef(resulttype.def).typ of s32real: result:=ccallnode.createintern('DTOS',ccallparanode.create(left,nil)); + s64real: + begin + result:=left; + left:=nil; + end; else internalerror(2005082703); end; @@ -1881,7 +1891,6 @@ implementation {$endif cpufpemu} begin first_real_to_real:=nil; - { comp isn't a floating type } if registersfpu<1 then registersfpu:=1; expectloc:=LOC_FPUREGISTER;