From bf9add168879c76c71395b3a2cc3883be56bf11f Mon Sep 17 00:00:00 2001 From: peter Date: Fri, 23 May 2003 14:44:25 +0000 Subject: [PATCH] * new bugs --- tests/webtbs/tw2494.pp | 44 ++++++++++++++++++++++++++++++++++++++++++ tests/webtbs/tw2503.pp | 18 +++++++++++++++++ tests/webtbs/tw2504.pp | 24 +++++++++++++++++++++++ 3 files changed, 86 insertions(+) create mode 100644 tests/webtbs/tw2494.pp create mode 100644 tests/webtbs/tw2503.pp create mode 100644 tests/webtbs/tw2504.pp diff --git a/tests/webtbs/tw2494.pp b/tests/webtbs/tw2494.pp new file mode 100644 index 0000000000..cebc233ea3 --- /dev/null +++ b/tests/webtbs/tw2494.pp @@ -0,0 +1,44 @@ +{ Source provided for Free Pascal Bug Report 2494 } +{ Submitted by "Alan Mead" on 2003-05-17 } +{ e-mail: cubrewer@yahoo.com } +program dummy; + +type + matrix_element = array[1..1] of byte; + big_matrix = array[1..1000000,1..610] of matrix_element; + + longarray = array[0..0] of real; + +{var + a : big_matrix;} + +var p:pointer; + l : ^longarray; + size, storage : longint; + i,j:longint; + done:boolean; + +begin + ReturnNilIfGrowHeapFails:=true; + writeln('Total heap available is ',MemAvail,' bytes'); + writeln('Largest block available is ',MaxAvail,' bytes'); + done := false; + size := 40000000; + repeat + size := round(size * 1.1); + storage := size * sizeof(real); + writeln('size=',size,' (storage=',storage,')'); + getmem(l,storage); + if (l=nil) then + begin + done := true; + writeln('getmem() failed'); + end + else + begin + writeln('getmem() was successful'); + freemem(l,storage); + end; + until (done); +end. + diff --git a/tests/webtbs/tw2503.pp b/tests/webtbs/tw2503.pp new file mode 100644 index 0000000000..dac09c01b7 --- /dev/null +++ b/tests/webtbs/tw2503.pp @@ -0,0 +1,18 @@ +{$mode delphi} + +type + THyperPuperText = class + Procedure Hyper; OVERLOAD; + Procedure Hyper(n: integer); OVERLOAD; + end; + +Procedure THyperPuperText.Hyper(n: integer); +begin +end; + +Procedure THyperPuperText.Hyper; +begin +end; + +begin +end. diff --git a/tests/webtbs/tw2504.pp b/tests/webtbs/tw2504.pp new file mode 100644 index 0000000000..611e9e53ae --- /dev/null +++ b/tests/webtbs/tw2504.pp @@ -0,0 +1,24 @@ +{$ifdef fpc}{$mode delphi}{$endif} + +type + BRec = record + fu: Function:Longint; + end; + +var + a : Longint; + b : BRec; + +function f1:longint; +begin + result:=10; +end; + +begin + b.fu:=f1; +// a:=b.fu(); // works well + a:=b.fu; // causes "Error: incompatible types" + writeln(a); + if a<>10 then + halt(1); +end.