mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-17 13:59:29 +02:00
+ bugs 280 to 289 adapted
This commit is contained in:
parent
c0419fc706
commit
eefa07408a
19
tests/tbf0281.pp
Normal file
19
tests/tbf0281.pp
Normal 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
9
tests/tbf0284.pp
Normal file
@ -0,0 +1,9 @@
|
||||
uses tbs0284b;
|
||||
{$HINTS ON}
|
||||
type
|
||||
o2=object(o1)
|
||||
p : longint;
|
||||
end;
|
||||
|
||||
begin
|
||||
end.
|
48
tests/tbs0280.pp
Normal file
48
tests/tbs0280.pp
Normal 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
33
tests/tbs0282.pp
Normal 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
12
tests/tbs0283.pp
Normal 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
9
tests/tbs0284b.pp
Normal file
@ -0,0 +1,9 @@
|
||||
unit tbs0284b;
|
||||
interface
|
||||
type
|
||||
o1=object
|
||||
p : longint;
|
||||
end;
|
||||
|
||||
implementation
|
||||
end.
|
18
tests/tbs0285.pp
Normal file
18
tests/tbs0285.pp
Normal 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
5
tests/tbs0286.pp
Normal file
@ -0,0 +1,5 @@
|
||||
var
|
||||
c : char;
|
||||
begin
|
||||
c:=#$08d;
|
||||
end.
|
21
tests/tbs0287.pp
Normal file
21
tests/tbs0287.pp
Normal 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
36
tests/tbs0288.pp
Normal 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
11
tests/tbs0289.pp
Normal file
@ -0,0 +1,11 @@
|
||||
|
||||
procedure p;
|
||||
type
|
||||
k1 = word;
|
||||
begin
|
||||
end;
|
||||
|
||||
type
|
||||
k2 = word;
|
||||
begin
|
||||
end.
|
Loading…
Reference in New Issue
Block a user