On 23 Nov 2009, at 13:40, Juha Manninen wrote:

I understand the compiler is a devel version but if you need a good test case,
here you have one.


Unfortunately, not really. A good test case is a small self-contained test program with no external dependencies that crashes or prints a wrong result. A lazarus package does not really fit this description.

I compiled whole Lazarus with FPC 2.5.1 and  -O2 and it works well.
VirtualTreeView has non-portable assembly code and may be difficult for the
compiler.

The compiler does not optimize handwritten assembler code. The most likely problem is that this assembler code does not preserve all non- volatile registers, and that 2.5.1 uses one of those registers while 2.2.4 didn't. It could of course also be a compiler bug, but that is unlikely (for the simple reason that the main difference between 2.2.4 and 2.5.1 as far as optimizations are concerned, is that the compiler makes slightly better use of registers and that the i386 assembler CSE optimizer has been /disabled/ by default).


Jonas
_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal

Reply via email to