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

* fixed for targets where currency is implemented via int64 after r43829

git-svn-id: trunk@43882 -
Jonas Maebe 5 жил өмнө
parent
commit
32be078ab8

+ 2 - 0
compiler/llvm/nllvmcnv.pas

@@ -115,6 +115,8 @@ function tllvmtypeconvnode.first_int_to_real: tnode;
     if (llvmflag_constrained_fptoi_itofp in llvmversion_properties[current_settings.llvmversion]) and
        { these are converted to 80 bits first in any case }
        not(tfloatdef(resultdef).floattype in [s64currency,s64comp]) and
+       { no actuual int -> floating point conversion }
+       (torddef(left.resultdef).ordtype<>scurrency) and
        ((left.resultdef.size>=resultdef.size) or
         ((torddef(left.resultdef).ordtype=u64bit) and
          (tfloatdef(resultdef).floattype=s80real))) then