From 3474cf1a607efd12c1738ebeffc947a2dd2634e6 Mon Sep 17 00:00:00 2001 From: peter Date: Wed, 1 Jul 1998 15:32:32 +0000 Subject: [PATCH] + 142,143,144,145 --- bugs/bug0142.pp | 13 +++++++++++++ bugs/bug0143.pp | 11 +++++++++++ bugs/bug0144.pp | 21 +++++++++++++++++++++ bugs/bug0145.pp | 27 +++++++++++++++++++++++++++ bugs/readme.txt | 5 +++++ 5 files changed, 77 insertions(+) create mode 100644 bugs/bug0142.pp create mode 100644 bugs/bug0143.pp create mode 100644 bugs/bug0144.pp create mode 100644 bugs/bug0145.pp diff --git a/bugs/bug0142.pp b/bugs/bug0142.pp new file mode 100644 index 0000000000..1e5b7b3583 --- /dev/null +++ b/bugs/bug0142.pp @@ -0,0 +1,13 @@ + +{$PACKRECORDS 1} + +type +Time = object + h,m,s:byte; +end; + +var OT:Time; + l : longint; +begin + l:=SizeOf(OT); +end. diff --git a/bugs/bug0143.pp b/bugs/bug0143.pp new file mode 100644 index 0000000000..99eed1cc56 --- /dev/null +++ b/bugs/bug0143.pp @@ -0,0 +1,11 @@ + + +const + string1 : string = 'hello '; + string2 : array[1..5] of char = 'there'; +var + s : string; +begin + s:=string1+string2; + writeln(string1+string2); +end. \ No newline at end of file diff --git a/bugs/bug0144.pp b/bugs/bug0144.pp new file mode 100644 index 0000000000..9584c3d80b --- /dev/null +++ b/bugs/bug0144.pp @@ -0,0 +1,21 @@ +program done_bug; + +type +TObject = object + Constructor Init; + Destructor Done; +end; +PObject = ^TObject; + +Constructor TObject.Init; +begin end; +Destructor TObject.Done; +begin end; + +var P:PObject; + +begin +New(P,Init); +with P^ do Done; { Compiler PANIC here ! } +Dispose(P); +end. diff --git a/bugs/bug0145.pp b/bugs/bug0145.pp new file mode 100644 index 0000000000..3df993c2e6 --- /dev/null +++ b/bugs/bug0145.pp @@ -0,0 +1,27 @@ +{$I+} +const + Mb=512; + siz=1024*Mb; + +type + buf=array[1..siz] of byte; + +var + fin, + fout : file of buf; + b1,a1 : buf; + +begin + fillchar(a1,sizeof(a1),1); + assign(fout,'tmp.tmp'); + rewrite(fout); + write(fout,a1); + close(fout); + + assign(fin,'tmp.tmp'); + reset(fin); + read(fin,b1); + close(fin); + if not b1[512*Mb]=1 then + writeln('data err'); +end. \ No newline at end of file diff --git a/bugs/readme.txt b/bugs/readme.txt index 60ec211558..eaa7ac9365 100644 --- a/bugs/readme.txt +++ b/bugs/readme.txt @@ -190,3 +190,8 @@ bug0135.pp Unsupported subrange type construction. bug0137.pp Cannot assign child object variable to parent objcet type variable bug0139.pp Cannot access protected method of ancestor class from other unit. bug0141.pp Wrong Class sizes when using forwardly defined classes. +bug0142.pp sizeof(object) is not tp7 compatible when no constructor is used +bug0143.pp cannot concat string and array of char in $X+ mode +bug0144.pp problem with 'with object do' +bug0145.pp typed files with huges records (needs filerec.size:longint) +