Browse Source

* force stackframes for foreach,firstthat,lastthat

git-svn-id: trunk@4967 -
peter 19 years ago
parent
commit
59e84ac06d
1 changed files with 22 additions and 0 deletions
  1. 22 0
      rtl/inc/objects.pp

+ 22 - 0
rtl/inc/objects.pp

@@ -1902,6 +1902,12 @@ END;
 {--TCollection--------------------------------------------------------------}
 {--TCollection--------------------------------------------------------------}
 {  LastThat -> Platforms DOS/DPMI/WIN/OS2 - Checked 22May96 LdB             }
 {  LastThat -> Platforms DOS/DPMI/WIN/OS2 - Checked 22May96 LdB             }
 {---------------------------------------------------------------------------}
 {---------------------------------------------------------------------------}
+
+{$IFOPT W-}
+{$DEFINE STACKFRAME_OFF}
+{$W+}
+{$ENDIF}
+       
 FUNCTION TCollection.LastThat (Test: Pointer): Pointer;
 FUNCTION TCollection.LastThat (Test: Pointer): Pointer;
 VAR I: LongInt;
 VAR I: LongInt;
 
 
@@ -1917,6 +1923,7 @@ BEGIN
    LastThat := Nil;                                   { None passed test }
    LastThat := Nil;                                   { None passed test }
 END;
 END;
 
 
+
 {--TCollection--------------------------------------------------------------}
 {--TCollection--------------------------------------------------------------}
 {  FirstThat -> Platforms DOS/DPMI/WIN/OS2 - Checked 22May96 LdB            }
 {  FirstThat -> Platforms DOS/DPMI/WIN/OS2 - Checked 22May96 LdB            }
 {---------------------------------------------------------------------------}
 {---------------------------------------------------------------------------}
@@ -1933,6 +1940,11 @@ BEGIN
    FirstThat := Nil;                                  { None passed test }
    FirstThat := Nil;                                  { None passed test }
 END;
 END;
 
 
+{$IFDEF STACKFRAME_OFF}
+{$UNDEF STACKFRAME_OFF}
+{$W-}
+{$ENDIF}
+
 {--TCollection--------------------------------------------------------------}
 {--TCollection--------------------------------------------------------------}
 {  Pack -> Platforms DOS/DPMI/WIN/OS2 - Checked 22May96 LdB                 }
 {  Pack -> Platforms DOS/DPMI/WIN/OS2 - Checked 22May96 LdB                 }
 {---------------------------------------------------------------------------}
 {---------------------------------------------------------------------------}
@@ -2034,12 +2046,22 @@ END;
 {--TCollection--------------------------------------------------------------}
 {--TCollection--------------------------------------------------------------}
 {  ForEach -> Platforms DOS/DPMI/WIN/OS2 - Checked 22May96 LdB              }
 {  ForEach -> Platforms DOS/DPMI/WIN/OS2 - Checked 22May96 LdB              }
 {---------------------------------------------------------------------------}
 {---------------------------------------------------------------------------}
+
+{$IFOPT W-}
+{$DEFINE STACKFRAME_OFF}
+{$W+}
+{$ENDIF}
 PROCEDURE TCollection.ForEach (Action: Pointer);
 PROCEDURE TCollection.ForEach (Action: Pointer);
 VAR I: LongInt;
 VAR I: LongInt;
 BEGIN
 BEGIN
    For I := 1 To Count Do                             { Up from first item }
    For I := 1 To Count Do                             { Up from first item }
     CallPointerLocal(Action,get_caller_frame(get_frame),Items^[I-1]);   { Call with each item }
     CallPointerLocal(Action,get_caller_frame(get_frame),Items^[I-1]);   { Call with each item }
 END;
 END;
+{$IFDEF STACKFRAME_OFF}
+{$UNDEF STACKFRAME_OFF}
+{$W-}
+{$ENDIF}
+
 
 
 {--TCollection--------------------------------------------------------------}
 {--TCollection--------------------------------------------------------------}
 {  SetLimit -> Platforms DOS/DPMI/WIN/OS2 - Checked 22May96 LdB             }
 {  SetLimit -> Platforms DOS/DPMI/WIN/OS2 - Checked 22May96 LdB             }