Pārlūkot izejas kodu

* procvar difference with smallint - longint should fail

peter 23 gadi atpakaļ
vecāks
revīzija
4d35408f01
1 mainītis faili ar 31 papildinājumiem un 0 dzēšanām
  1. 31 0
      tests/tbf/tb0138.pp

+ 31 - 0
tests/tbf/tb0138.pp

@@ -0,0 +1,31 @@
+{ %fail }
+
+type
+  p_int = procedure (var i : smallint);
+
+procedure testl(var i : longint);
+begin
+  i:=$ffff;
+end;
+
+
+var
+  p : p_int;
+  r : packed record
+{$ifdef ENDIAN_BIG}
+        j,i : smallint;
+{$else}
+        i,j : smallint;
+{$endif}
+      end;
+
+begin
+  p:=@testl;
+  r.j:=5;
+  p(r.i);
+  if r.j<>5 then
+    begin
+      writeln('Wrong code overwrites j');
+      halt(1);
+    end;
+end.