* i8086 far code memory model fixes in tests tw2739,tw3173,tw16034,tw1152,

tw2944 and tw9261

git-svn-id: trunk@25832 -
This commit is contained in:
nickysn 2013-10-19 21:43:40 +00:00
parent 645cd11b9d
commit f3a686eb69
6 changed files with 23 additions and 9 deletions

View File

@ -10,7 +10,7 @@
program exception;
uses sysutils,crt;
var
saveexit : pointer;
saveexit : codepointer;
finally_called : boolean;
procedure my_exit;

View File

@ -9,6 +9,11 @@ program Hello;
type
ptr = pointer;
{$ifdef fpc}
codeptr = codepointer;
{$else}
codeptr = pointer;
{$endif}
Int = ptrint;
pPtr = ^ptr;
UInt = ptruint;
@ -109,7 +114,7 @@ var
s0, s1, s2: UInt;
v0, v1, v2: ptr;
cn0, cn1, cn2: ptr;
cn0, cn1, cn2: codeptr;
begin
// VMT Pointers

View File

@ -26,7 +26,7 @@ end;
function JclAddExceptNotifier(const NotifyMethod: TJclExceptNotifyMethod): Boolean; overload;
var
p : pointer;
p : codepointer;
begin
p:=@NotifyMethod;
end;

View File

@ -4,9 +4,13 @@
{$ifdef fpc}{$mode Delphi}{$endif}
type
{$ifndef fpc}
CodePointer = Pointer;
PCodePointer = PPointer;
{$endif}
WS2StubEntry = record
StubProc : Pointer;
ProcVar : PPointer;
StubProc : CodePointer;
ProcVar : PCodePointer;
Name : PChar;
end;
LPFN_WSACLEANUP = function : Integer; stdcall;

View File

@ -2,11 +2,16 @@
{ Submitted by "Dominik Zablotny" on 2004-06-18 }
{ e-mail: dominz@wp.pl }
program test;
{$ifdef fpc}{$mode delphi}{$endif}
{$ifdef fpc}
{$mode delphi}
{$else}
type
codepointer = pointer;
{$endif}
var
p: procedure of object;
function f:pointer;
function f:codepointer;
begin
end;

View File

@ -7,7 +7,7 @@ type methodprocvar = function(): Boolean of object;
procedure test_procedure(a1, a2, a3, a4, a5, a6: integer; mv: methodprocvar);
begin
with Tmethod(mv) do
if (code<>pointer($11111111)) or (data<>pointer($22222222)) then
if (code<>codepointer($11111111)) or (data<>pointer($22222222)) then
begin
writeln('test failed');
halt(1);
@ -19,7 +19,7 @@ var a:methodprocvar;
begin
with Tmethod(a) do
begin
code:=pointer($11111111);
code:=codepointer($11111111);
data:=pointer($22222222);
end;
test_procedure(1, 2, 3, 4, 5, 6, a);