tcalcon1.pp 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158
  1. { %cpu=powerpc }
  2. { %target=darwin,macos}
  3. type
  4. tr1 = record
  5. b: byte;
  6. end;
  7. tr2 = record
  8. l: longint;
  9. end;
  10. tr3 = record
  11. i: int64;
  12. end;
  13. tr4 = record
  14. s: string;
  15. end;
  16. var
  17. r1: tr1;
  18. r2: tr2;
  19. r3: tr3;
  20. r4: tr4;
  21. procedure p1normal(const r: tr1);
  22. begin
  23. if @r = @r1 then
  24. halt(1);
  25. end;
  26. procedure p2normal(const r: tr2);
  27. begin
  28. if @r = @r2 then
  29. halt(1);
  30. end;
  31. procedure p3normal(const r: tr3);
  32. begin
  33. if @r = @r3 then
  34. halt(1);
  35. end;
  36. procedure p4normal(const r: tr4);
  37. begin
  38. if @r <> @r4 then
  39. halt(1);
  40. end;
  41. procedure p1normal2(r: tr1);
  42. begin
  43. if @r = @r1 then
  44. halt(1);
  45. end;
  46. procedure p2normal2(r: tr2);
  47. begin
  48. if @r = @r2 then
  49. halt(1);
  50. end;
  51. procedure p3normal2(r: tr3);
  52. begin
  53. if @r = @r3 then
  54. halt(1);
  55. end;
  56. procedure p4normal2(r: tr4);
  57. begin
  58. if @r = @r4 then
  59. halt(1);
  60. end;
  61. procedure p1mw(const r: tr1); mwpascal;
  62. begin
  63. if @r <> @r1 then
  64. halt(1);
  65. end;
  66. procedure p2mw(const r: tr2);mwpascal;
  67. begin
  68. if @r <> @r2 then
  69. halt(1);
  70. end;
  71. procedure p3mw(const r: tr3);mwpascal;
  72. begin
  73. if @r <> @r3 then
  74. halt(1);
  75. end;
  76. procedure p4mw(const r: tr4);mwpascal;
  77. begin
  78. if @r <> @r4 then
  79. halt(1);
  80. end;
  81. procedure p1mw2(r: tr1); mwpascal;
  82. begin
  83. if @r = @r1 then
  84. halt(1);
  85. end;
  86. procedure p2mw2(r: tr2);mwpascal;
  87. begin
  88. if @r = @r2 then
  89. halt(1);
  90. end;
  91. procedure p3mw2(r: tr3);mwpascal;
  92. begin
  93. if @r = @r3 then
  94. halt(1);
  95. end;
  96. procedure p4mw2(r: tr4);mwpascal;
  97. begin
  98. if @r = @r4 then
  99. halt(1);
  100. end;
  101. begin
  102. p1normal(r1);
  103. p2normal(r2);
  104. p3normal(r3);
  105. p4normal(r4);
  106. p1normal2(r1);
  107. p2normal2(r2);
  108. p3normal2(r3);
  109. p4normal2(r4);
  110. p1mw(r1);
  111. p2mw(r2);
  112. p3mw(r3);
  113. p4mw(r4);
  114. p1mw2(r1);
  115. p2mw2(r2);
  116. p3mw2(r3);
  117. p4mw2(r4);
  118. end.