[fpc-devel] Bug 29760 on FPC 3.0 Win64

Michael Van Canneyt michael at freepascal.org
Thu Mar 10 13:01:30 CET 2016



On Thu, 10 Mar 2016, Yury Sidorov wrote:

> On 3/10/2016 11:33 AM, Michael Van Canneyt wrote:
>> 
>> On Thu, 10 Mar 2016, LacaK wrote:
>> 
>>> Hi,
>>> investigating bug #29760 I reduced bug to:
>>> 
>>> var
>>>  c: currency;
>>>  d: double;
>>> 
>>> begin
>>>  c := 123.45;
>>>  d := 100;
>>>  writeln(c, '*', d, '=', c*d); // result of multiply is wrong = 123450000
>>> end.
>>> 
>>> This happens only on Win64 with FPC 3.0
>>> 
>>> Can somebody please check and confirm ?
>> 
>> If confirmed, then I think this is enough reason to start a 3.0.2
>> release :/
>
> I've fixed similar issue for ARM several months ago.
> http://bugs.freepascal.org/view.php?id=28748
> But the bug possibly had affected all 64-bit integer currency targets.
>
> Does the bug exist in trunk?

It really depends on the platform.

Linux, 64-bit prints with trunk:

  1.234500000000000000E+02* 1.0000000000000000E+002= 1.234500000000000000E+04

And it prints the same with 3.0.0.

Michael.



More information about the fpc-devel mailing list