Browse Source

* don't use the local longjmp for 1.9.x

peter 21 years ago
parent
commit
051778da12
1 changed files with 19 additions and 1 deletions
  1. 19 1
      compiler/tpexcept.pas

+ 19 - 1
compiler/tpexcept.pas

@@ -26,10 +26,20 @@ unit tpexcept;
 
 
 interface
 interface
 
 
+{$ifdef VER1_0}
+  {$define HASNOLONGJMP}
+{$else}
+  {$ifdef DELPHI}
+    {$define HASNOLONGJMP}
+  {$endif}  
+{$endif}
+  
 {$ifndef UNIX}
 {$ifndef UNIX}
   {$S-}
   {$S-}
 {$endif}
 {$endif}
 
 
+{$ifdef HASNOLONGJMP}
+
 type
 type
    jmp_buf = record
    jmp_buf = record
 {$ifdef Delphi} { must preserve: ebx, esi, edi, ebp, esp, eip only }
 {$ifdef Delphi} { must preserve: ebx, esi, edi, ebp, esp, eip only }
@@ -45,12 +55,15 @@ type
   function setjmp(var rec : jmp_buf) : longint;{$ifdef Delphi}stdcall;{$else}{$ifndef ver1_0}oldfpccall;{$endif}{$endif}
   function setjmp(var rec : jmp_buf) : longint;{$ifdef Delphi}stdcall;{$else}{$ifndef ver1_0}oldfpccall;{$endif}{$endif}
   procedure longjmp(const rec : jmp_buf;return_value : longint);{$ifdef Delphi}stdcall;{$else}{$ifndef ver1_0}oldfpccall;{$endif}{$endif}
   procedure longjmp(const rec : jmp_buf;return_value : longint);{$ifdef Delphi}stdcall;{$else}{$ifndef ver1_0}oldfpccall;{$endif}{$endif}
 
 
+{$endif HASNOLONGJMP}
+
   const
   const
      recoverpospointer : pjmp_buf = nil;
      recoverpospointer : pjmp_buf = nil;
      longjump_used : boolean = false;
      longjump_used : boolean = false;
 
 
 implementation
 implementation
 
 
+{$ifdef HASNOLONGJMP}
 
 
 {*****************************************************************************
 {*****************************************************************************
                              Exception Helpers
                              Exception Helpers
@@ -240,10 +253,15 @@ implementation
 
 
 {$endif DELPHI}
 {$endif DELPHI}
 
 
+{$endif HASNOLONGJMP}
+
 end.
 end.
 {
 {
   $Log$
   $Log$
-  Revision 1.9  2003-11-23 17:03:05  peter
+  Revision 1.10  2004-02-12 16:00:39  peter
+    * don't use the local longjmp for 1.9.x
+
+  Revision 1.9  2003/11/23 17:03:05  peter
     * use oldfpccall
     * use oldfpccall
 
 
   Revision 1.8  2002/05/18 13:34:21  peter
   Revision 1.8  2002/05/18 13:34:21  peter