소스 검색

* procvar difference with smallint - longint should fail

peter 23 년 전
부모
커밋
4d35408f01
1개의 변경된 파일31개의 추가작업 그리고 0개의 파일을 삭제
  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.