tw1932.pp 653 B

1234567891011121314151617181920212223
  1. { %OPT=-O2 }
  2. { Source provided for Free Pascal Bug Report 1932 }
  3. { Submitted by "Rob Kolstad" on 2002-04-15 }
  4. { e-mail: [email protected] }
  5. program breaksusingO2;
  6. var
  7. i, ans:longint;
  8. data:array[1..2,0..1] of longint;
  9. begin
  10. data[1,0] := 2; data[1,1] := 7;
  11. data[2,0] := 6; data[2,1] := 9;
  12. i:= 1;
  13. ans := 0;
  14. writeln ('calculated diff = ',data[i,1]-data[i+1,0]);
  15. if data[i,1]>data[i+1,0] then begin
  16. ans := data[i,1]-data[i+1,0];
  17. // I think that data[i+1,0] is being evaluated to 0...RK
  18. end;
  19. // ans should be 1
  20. writeln('ans should = 1, but ans=', ans);
  21. if ans <> 1 then
  22. halt(1);
  23. end.