tderef.pp 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. {****************************************************************}
  2. { CODE GENERATOR TEST PROGRAM }
  3. {****************************************************************}
  4. { NODE TESTED : secondderef() }
  5. {****************************************************************}
  6. { PRE-REQUISITES: secondload() }
  7. { secondassign() }
  8. { secondcalln() }
  9. { secondadd() }
  10. { secondtypeconv() }
  11. {****************************************************************}
  12. { DEFINES: }
  13. {****************************************************************}
  14. { REMARKS: }
  15. {****************************************************************}
  16. program tderef;
  17. type
  18. plongint = ^longint;
  19. ttestarray = array[1..64] of byte;
  20. ptestarray = ^ttestarray;
  21. pbyte = ^byte;
  22. procedure fail;
  23. begin
  24. Writeln('Failed!');
  25. halt(1);
  26. end;
  27. var
  28. pl : plongint;
  29. parray : ptestarray;
  30. passed : boolean;
  31. ptr : pbyte;
  32. b: byte;
  33. Begin
  34. Write('secondderef() test...');
  35. passed := true;
  36. new(pl);
  37. new(parray);
  38. { left : LOC_REFERENCE }
  39. pl^:= $F0F0;
  40. if pl^ <> $F0F0 then
  41. passed := false;
  42. FillChar(parray^,sizeof(ttestarray),0);
  43. ptr:=pbyte((longint(parray)+32));
  44. ptr^ := $A0;
  45. if parray^[33] <> $A0 then
  46. passed := false;
  47. { left : LOC_REGISTER }
  48. b:=(pbyte((longint(parray)+32))^);
  49. if b <> $A0 then
  50. passed := false;
  51. dispose(pl);
  52. dispose(parray);
  53. if passed then
  54. WriteLn('Success.')
  55. else
  56. Fail;
  57. end.
  58. {
  59. $Log$
  60. Revision 1.4 2002-09-07 15:40:56 peter
  61. * old logs removed and tabs fixed
  62. Revision 1.3 2002/04/13 21:04:46 carl
  63. * fixed stupid typo
  64. Revision 1.2 2002/03/05 21:56:02 carl
  65. * Adapted for automated testing
  66. }