浏览代码

* check for negative int64 constants

pierre 24 年之前
父节点
当前提交
b95509219c
共有 1 个文件被更改,包括 24 次插入0 次删除
  1. 24 0
      tests/test/tcint64.pp

+ 24 - 0
tests/test/tcint64.pp

@@ -0,0 +1,24 @@
+{ The results of the following constants
+  differ on 1.0 and 1.1 compiler
+  as constants are evaluated as 32bit integers in 1.1
+  and as 64bit integers in 1.1
+  But in all cases int64(-1) should give -1 and not $ffffffff PM }
+{$R-}
+const
+   u1 : qword = $ffffffff;
+   i1 : int64 = $ffffffff;
+   u2 : qword = -1;
+   i2 : int64 = -1;
+
+begin
+  Writeln(' qword($ffffffff) = ',u1);
+  Writeln(' int64($ffffffff) = ',i1);
+  Writeln(' qword(-1) = ',u2);
+  Writeln(' int64(-1) = ',i2);
+  if i2<>-1 then
+    begin
+      Writeln('"const i2 : int64 = -1;" code');
+      Writeln('generates a wrong int64 constant');
+      RunError(1);
+    end;
+end.