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.