|
@@ -591,12 +591,18 @@ implementation
|
|
var
|
|
var
|
|
ref : treference;
|
|
ref : treference;
|
|
r : tregister;
|
|
r : tregister;
|
|
|
|
+ checkpointer_used : boolean;
|
|
begin
|
|
begin
|
|
{$if defined(i386) or defined(i8086)}
|
|
{$if defined(i386) or defined(i8086)}
|
|
if current_settings.cputype>=cpu_Pentium3 then
|
|
if current_settings.cputype>=cpu_Pentium3 then
|
|
{$endif i386 or i8086}
|
|
{$endif i386 or i8086}
|
|
begin
|
|
begin
|
|
|
|
+ { do not call Checkpointer for left node }
|
|
|
|
+ checkpointer_used:=(cs_checkpointer in current_settings.localswitches);
|
|
|
|
+ exclude(current_settings.localswitches,cs_checkpointer);
|
|
secondpass(left);
|
|
secondpass(left);
|
|
|
|
+ if checkpointer_used then
|
|
|
|
+ include(current_settings.localswitches,cs_checkpointer);
|
|
case left.location.loc of
|
|
case left.location.loc of
|
|
LOC_CREFERENCE,
|
|
LOC_CREFERENCE,
|
|
LOC_REFERENCE:
|
|
LOC_REFERENCE:
|