12345678910111213141516171819202122232425262728293031 |
- { This code was first written by Florian
- to test the GDB output for FPU
- he thought first that FPU output was wrong
- but in fact it is a bug in FPC :( }
- program bug0309;
- var
- a,b : double;
- begin
- asm
- fninit;
- end;
- a:=1;
- b:=2;
- asm
- movl $1,%eax
- fldl a
- fldl b
- fadd
- fstpl a
- end;
- { the above generates wrong code in binary writer
- fldl is replaced by flds !!
- if using -alt option to force assembler output
- all works correctly PM }
- writeln('a = ',a,' should be 3');
- a:=1.0;
- a:=a+b;
- writeln('a = ',a,' should be 3');
- end.
|