Hi, Following program should output 100, but it does 0. It seems to be a bug. Some incompatibilities between optimization switches, or something else?
Stefan program bug; function Func(a:longint): longint; begin if (a >= 0) then Func:=Trunc(1.0*a) else Func:=-Trunc(1.0*a); end; begin Writeln(Func(100)); end. ========================== Microsoft Windows XP [Version 5.1.2600] (C) Copyright 1985-2001 Microsoft Corp. D:\Research\Coding\bug>fpc.exe -CfSSE -O3 bug.pas Free Pascal Compiler version 2.1.4 [2007/05/11] for i386 Copyright (c) 1993-2007 by Florian Klaempfl Target OS: Win32 for i386 Compiling bug.pas Linking bug.exe 9 lines compiled, 0.1 sec, 23312 bytes code, 1160 bytes data D:\Research\Coding\bug>bug.exe 0 _______________________________________________ fpc-devel maillist - [email protected] http://lists.freepascal.org/mailman/listinfo/fpc-devel
