From a85ff0481509df853ee76a4e55f970e7a35eacd6 Mon Sep 17 00:00:00 2001
From: pierre <pierre@freepascal.org>
Date: Tue, 29 Oct 2002 17:04:06 +0000
Subject: [PATCH]  + check enhanced fro negative array indexes and variable
 args

---
 tests/webtbs/tw1908.pp | 47 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 47 insertions(+)

diff --git a/tests/webtbs/tw1908.pp b/tests/webtbs/tw1908.pp
index af5792f58a..a26ecf98bb 100644
--- a/tests/webtbs/tw1908.pp
+++ b/tests/webtbs/tw1908.pp
@@ -17,9 +17,56 @@ procedure x(arr : array of byte);
    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
  arr : array[1..12] of byte;
+ arr2 : array[1..13] of byte;
+ arr3 : array[-1..11] of byte;
 begin
  arr[12] := $55;
  x(arr);
+ varx(arr);
+ arr2[13]:=$55;
+ x2(arr2);
+ varx2(arr2);
+ arr3[11]:=$55;
+ x2(arr3);
+ varx2(arr3);
 end.