[fpc-pascal] Nan values SIGFPE exception on 64 bit

Birger Jansen birger at cnoc.nl
Fri Nov 26 09:48:42 CET 2010


I encounter a strange difference in the behaviour of NaN values between windows 32 and 64 bit. Have a look at the following program:

-----------------------
program NanExample;

uses
  math;

var
  a, b, c: Double;

begin
  a := 0.0/0.0;
  b := 0.0/0.0;
  c := max(a,b);
  if IsNan(c) then
    WriteLn('NaN');
end.
-----------------------

On 32 bit this writes 'NaN' as expected. On 64 bit I get an SIGFPE exception on the max-function. Is there some specific compiler setting that I should be aware of to make this work on 64 bit?

Kind regards,
  Birger Jansen



More information about the fpc-pascal mailing list