mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-19 20:39:25 +02:00
* don't use the local longjmp for 1.9.x
This commit is contained in:
parent
30795ad6f9
commit
051778da12
@ -26,10 +26,20 @@ unit tpexcept;
|
||||
|
||||
interface
|
||||
|
||||
{$ifdef VER1_0}
|
||||
{$define HASNOLONGJMP}
|
||||
{$else}
|
||||
{$ifdef DELPHI}
|
||||
{$define HASNOLONGJMP}
|
||||
{$endif}
|
||||
{$endif}
|
||||
|
||||
{$ifndef UNIX}
|
||||
{$S-}
|
||||
{$endif}
|
||||
|
||||
{$ifdef HASNOLONGJMP}
|
||||
|
||||
type
|
||||
jmp_buf = record
|
||||
{$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}
|
||||
procedure longjmp(const rec : jmp_buf;return_value : longint);{$ifdef Delphi}stdcall;{$else}{$ifndef ver1_0}oldfpccall;{$endif}{$endif}
|
||||
|
||||
{$endif HASNOLONGJMP}
|
||||
|
||||
const
|
||||
recoverpospointer : pjmp_buf = nil;
|
||||
longjump_used : boolean = false;
|
||||
|
||||
implementation
|
||||
|
||||
{$ifdef HASNOLONGJMP}
|
||||
|
||||
{*****************************************************************************
|
||||
Exception Helpers
|
||||
@ -240,10 +253,15 @@ implementation
|
||||
|
||||
{$endif DELPHI}
|
||||
|
||||
{$endif HASNOLONGJMP}
|
||||
|
||||
end.
|
||||
{
|
||||
$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
|
||||
|
||||
Revision 1.8 2002/05/18 13:34:21 peter
|
||||
|
Loading…
Reference in New Issue
Block a user