tw8935.pp 400 B

12345678910111213141516171819202122232425262728293031323334
  1. {%cpu=x86_64,i386,arm}
  2. {%result=229}
  3. {$mode objfpc}
  4. procedure DoTest1; safecall;
  5. var
  6. i: integer;
  7. begin
  8. i:=-1;
  9. i:=i - 1;
  10. end;
  11. function DoTest2: longint; safecall;
  12. begin
  13. DoTest2:=$12345678;
  14. end;
  15. procedure DoTest3; safecall;
  16. begin
  17. PChar(nil)^:='A';
  18. end;
  19. begin
  20. try
  21. DoTest1;
  22. except
  23. ErrorAddr:=nil;
  24. Halt(1);
  25. end;
  26. if DoTest2 <> $12345678 then
  27. Halt(2);
  28. DoTest3;
  29. end.