Browse Source

+ check enhanced fro negative array indexes and variable args

pierre 23 years ago
parent
commit
a85ff04815
1 changed files with 47 additions and 0 deletions
  1. 47 0
      tests/webtbs/tw1908.pp

+ 47 - 0
tests/webtbs/tw1908.pp

@@ -17,9 +17,56 @@ procedure x(arr : array of byte);
    end;
    end;
  end;
  end;
 
 
+procedure varx(arr : array of byte);
+  var
+    i : byte;
+ begin
+   try
+    i:=12;
+    if arr[i] <> $55 then
+      WriteLn('Error! No Rangecheck error detected');
+    Halt(1);
+   except
+     on e : exception do
+       begin
+         Writeln(e.message);
+       end;
+   end;
+ end;
+
+procedure x2(arr : array of byte);
+ begin
+    if arr[12] <> $55 then
+      begin
+        WriteLn('Error! No Rangecheck error detected');
+        Halt(1);
+      end;
+ end;
+
+procedure varx2(arr : array of byte);
+  var
+    i : byte;
+ begin
+    i:=12;
+    if arr[12] <> $55 then
+      begin
+        WriteLn('Error! No Rangecheck error detected');
+        Halt(1);
+      end;
+ end;
+
 var
 var
  arr : array[1..12] of byte;
  arr : array[1..12] of byte;
+ arr2 : array[1..13] of byte;
+ arr3 : array[-1..11] of byte;
 begin
 begin
  arr[12] := $55;
  arr[12] := $55;
  x(arr);
  x(arr);
+ varx(arr);
+ arr2[13]:=$55;
+ x2(arr2);
+ varx2(arr2);
+ arr3[11]:=$55;
+ x2(arr3);
+ varx2(arr3);
 end.
 end.