mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-12 08:06:07 +02:00
+ 23,24,25
This commit is contained in:
parent
bedd3653f2
commit
a3c299a1cd
15
tests/README
15
tests/README
@ -24,16 +24,19 @@ ts010004.pp tests forward classes
|
|||||||
ts010005.pp tests method overriding
|
ts010005.pp tests method overriding
|
||||||
ts010006.pp tests libraries
|
ts010006.pp tests libraries
|
||||||
ts010015.pp tests typed files.
|
ts010015.pp tests typed files.
|
||||||
ts010016.pp tests conversion of smallsets in normsets in consts
|
ts010016.pp tests conversion of smallsets in normsets in consts
|
||||||
ts010017.pp tests the problem of iocheck inside iocheck routines
|
ts010017.pp tests the problem of iocheck inside iocheck routines
|
||||||
ts010018.pp tests the problem of enums inside objects
|
ts010018.pp tests the problem of enums inside objects
|
||||||
ts010019.pp tests problems of name mangling
|
ts010019.pp tests problems of name mangling
|
||||||
ts010020.pp tests for const strings problems if const is a single char.
|
ts010020.pp tests for const strings problems if const is a single char.
|
||||||
ts010021.pp test for long mangled names (they are strings, ie no longer then
|
ts010021.pp test for long mangled names (they are strings, ie no longer then
|
||||||
255 chars (but they have to be allways shorten the same way !!)
|
255 chars (but they have to be allways shorten the same way !!)
|
||||||
ts010022.pp tests a problem of writing pchar in files
|
ts010022.pp tests a problem of writing pchar in files
|
||||||
ts10100.pp tests for delphi object model
|
ts010023.pp tests set of char parameter passing
|
||||||
|
ts010024.pp tests att asm reference parsing
|
||||||
|
ts010025.pp tests intel asm reference parsing
|
||||||
-
|
-
|
||||||
|
ts10100.pp tests for delphi object model
|
||||||
ts101xx.pp
|
ts101xx.pp
|
||||||
|
|
||||||
tf000001.pp stupid example that creates a GPF sometimes
|
tf000001.pp stupid example that creates a GPF sometimes
|
||||||
|
14
tests/ts010023.pp
Normal file
14
tests/ts010023.pp
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
const
|
||||||
|
nl=#10;
|
||||||
|
type
|
||||||
|
cs=set of char;
|
||||||
|
|
||||||
|
function p(c:cs):boolean;
|
||||||
|
begin
|
||||||
|
p:=(#10 in c);
|
||||||
|
end;
|
||||||
|
|
||||||
|
begin
|
||||||
|
if p([#1..#255]-[nl]) then
|
||||||
|
halt(1);
|
||||||
|
end.
|
26
tests/ts010024.pp
Normal file
26
tests/ts010024.pp
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
{$asmmode att}
|
||||||
|
|
||||||
|
const
|
||||||
|
Count=100;
|
||||||
|
|
||||||
|
type
|
||||||
|
trec=record
|
||||||
|
a,b,c : longint;
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
var
|
||||||
|
r : trec;
|
||||||
|
begin
|
||||||
|
asm
|
||||||
|
movl %es:46(%edi),%eax
|
||||||
|
movl 2+trec.b(%esi),%eax
|
||||||
|
movl trec.b(,%esi,(2*4)),%eax
|
||||||
|
movl r.c(,%esi,(2*4)),%eax
|
||||||
|
movl %fs:(0x46c),%eax
|
||||||
|
movl Count,%eax
|
||||||
|
movl Count*100,%eax
|
||||||
|
movl trec.b+2,%eax
|
||||||
|
movl trec.b+2(%esi),%eax
|
||||||
|
end;
|
||||||
|
end.
|
25
tests/ts010025.pp
Normal file
25
tests/ts010025.pp
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
{$asmmode intel}
|
||||||
|
|
||||||
|
const
|
||||||
|
Count=100;
|
||||||
|
|
||||||
|
type
|
||||||
|
trec=record
|
||||||
|
a,b : longint;
|
||||||
|
end;
|
||||||
|
|
||||||
|
var
|
||||||
|
r : trec;
|
||||||
|
begin
|
||||||
|
asm
|
||||||
|
mov [esi+r],eax
|
||||||
|
mov fs:[2+trec.b],eax
|
||||||
|
mov [esi+2+trec.b],eax
|
||||||
|
mov trec[esi].b,eax
|
||||||
|
mov fs:[046ch],eax
|
||||||
|
mov eax,trec.b+2
|
||||||
|
mov trec[esi].b+2,eax
|
||||||
|
mov eax,Count
|
||||||
|
mov eax,Count*100
|
||||||
|
end;
|
||||||
|
end.
|
Loading…
Reference in New Issue
Block a user