mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-20 04:39:28 +02:00
* conditionnal code for extended check of virtual methods
This commit is contained in:
parent
c18fdf95f3
commit
b186605bc4
@ -840,11 +840,20 @@ implementation
|
||||
if p^.procdefinition^.extnumber=-1 then
|
||||
internalerror($Da);
|
||||
r^.offset:=p^.procdefinition^.extnumber*4+12;
|
||||
{$ifndef TESTOBJEXT}
|
||||
if (cs_check_range in aktlocalswitches) then
|
||||
begin
|
||||
exprasmlist^.concat(new(pai386,op_reg(A_PUSH,S_L,r^.base)));
|
||||
emitcall('FPC_CHECK_OBJECT',true);
|
||||
end;
|
||||
{$else TESTOBJEXT}
|
||||
if (cs_check_range in aktlocalswitches) then
|
||||
begin
|
||||
exprasmlist^.concat(new(pai386,op_csymbol(A_PUSH,S_L,newcsymbol(p^.procdefinition^._class^.vmt_mangledname,0))));
|
||||
exprasmlist^.concat(new(pai386,op_reg(A_PUSH,S_L,r^.base)));
|
||||
emitcall('FPC_CHECK_OBJECT_EXT',true);
|
||||
end;
|
||||
{$endif TESTOBJEXT}
|
||||
exprasmlist^.concat(new(pai386,op_ref(A_CALL,S_NO,r)));
|
||||
end
|
||||
else if not inlined then
|
||||
@ -1282,7 +1291,10 @@ implementation
|
||||
end.
|
||||
{
|
||||
$Log$
|
||||
Revision 1.62 1999-02-02 23:52:32 florian
|
||||
Revision 1.63 1999-02-03 10:18:14 pierre
|
||||
* conditionnal code for extended check of virtual methods
|
||||
|
||||
Revision 1.62 1999/02/02 23:52:32 florian
|
||||
* problem with calls to method pointers in methods fixed
|
||||
- double ansistrings temp management removed
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user