+ bugs 280 to 289 adapted

This commit is contained in:
pierre 1999-12-02 09:53:40 +00:00
parent c0419fc706
commit eefa07408a
11 changed files with 221 additions and 0 deletions

19
tests/tbf0281.pp Normal file
View File

@ -0,0 +1,19 @@
{$mode objfpc}
type
test_one = class
protected
fTest : String;
public
property Test: String READ fTest WRITE fTest;
procedure Testen(Test: BOolean);
{ ^ duplicate identifier? }
end;
procedure test_one.testen(test: boolean);
begin
end;
begin
end.

9
tests/tbf0284.pp Normal file
View File

@ -0,0 +1,9 @@
uses tbs0284b;
{$HINTS ON}
type
o2=object(o1)
p : longint;
end;
begin
end.

48
tests/tbs0280.pp Normal file
View File

@ -0,0 +1,48 @@
{$mode objfpc}
{$H+}
program memhole;
{$ifdef go32v2}
uses
dpmiexcp;
{$endif go32v2}
type
TMyClass = class
s: String;
end;
plongint = ^longint;
procedure dotest;
var
c: TMyClass;
s : string;
begin
s:='world';
s:='Hallo '+s;
writeln((plongint(s)-4)^);
c := TMyClass.Create;
writeln(longint(c.s));
c.s := Copy('Test', 1, 4);
writeln((plongint(c.s)-4)^);
c.free;
end;
var
membefore : longint;
begin
membefore:=memavail;
writeln(memavail);
dotest;
writeln(memavail);
if membefore<>memavail then
begin
Writeln('Memory hole using ansi strings in classes');
Halt(1);
end
else
Writeln('No memory hole unsing ansi strings in classes');
end.

33
tests/tbs0282.pp Normal file
View File

@ -0,0 +1,33 @@
type very____long_____string___identifier= string[200];
procedure test(very__long_variable01: very____long_____string___identifier;
very__long_variable02: very____long_____string___identifier;
very__long_variable03: very____long_____string___identifier;
very__long_variable04: very____long_____string___identifier;
very__long_variable05: very____long_____string___identifier;
very__long_variable06: very____long_____string___identifier;
very__long_variable07: very____long_____string___identifier;
very__long_variable08: very____long_____string___identifier;
very__long_variable09: very____long_____string___identifier;
very__long_variable10: very____long_____string___identifier;
very__long_variable11: very____long_____string___identifier;
very__long_variable12: very____long_____string___identifier;
very__long_variable13: very____long_____string___identifier;
very__long_variable14: very____long_____string___identifier;
very__long_variable15: very____long_____string___identifier;
very__long_variable16: very____long_____string___identifier;
very__long_variable17: very____long_____string___identifier;
very__long_variable18: very____long_____string___identifier);
begin
writeln('hi!');
end;
begin
writeln('vreemd!');
test('','','','','','','','','','',
'','','','','','','','');
end.

12
tests/tbs0283.pp Normal file
View File

@ -0,0 +1,12 @@
const dirsep = '\';
begin
if dirsep = '/'
then
begin
writeln('bug!');
Halt(1);
end
else
writeln('ok');
end.

9
tests/tbs0284b.pp Normal file
View File

@ -0,0 +1,9 @@
unit tbs0284b;
interface
type
o1=object
p : longint;
end;
implementation
end.

18
tests/tbs0285.pp Normal file
View File

@ -0,0 +1,18 @@
{$asmmode intel}
TYPE something = RECORD big:LONGINT; small:BYTE; END;
FUNCTION typesize:INTEGER; ASSEMBLER;
ASM
MOV EAX, TYPE something
END;
BEGIN
writeln(typesize);
if typesize<>sizeof(something) then
begin
Writeln('Error in type inside intel asm');
Halt(1);
end;
END.

5
tests/tbs0286.pp Normal file
View File

@ -0,0 +1,5 @@
var
c : char;
begin
c:=#$08d;
end.

21
tests/tbs0287.pp Normal file
View File

@ -0,0 +1,21 @@
var
b,bb : boolean;
begin
b:=(true > false);
if b then
writeln('ok 1')
else
halt(1);
b:=true;
b:=(b > false);
if b then
writeln('ok 2')
else
halt(1);
b:=false;
bb:=true;
if b<bb then
writeln('ok 3')
else
halt(1);
end.

36
tests/tbs0288.pp Normal file
View File

@ -0,0 +1,36 @@
{$mode objfpc}
uses sysutils;
const
test_run : boolean = false;
type
zz=class(tobject)
procedure test;virtual;
procedure test1;virtual;
end;
procedure zz.test;
begin
writeln('ok');
test_run:=true;
end;
procedure zz.test1;
begin
try
raise exception.create('zz');
except
on e:exception do test;
end;
end;
var
z:zz;
begin
z:=zz.create;
z.test1;
z.destroy;
if not test_run then
begin
Writeln('Problem with virtual method in except block');
Halt(1);
end;
end.

11
tests/tbs0289.pp Normal file
View File

@ -0,0 +1,11 @@
procedure p;
type
k1 = word;
begin
end;
type
k2 = word;
begin
end.