mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-16 19:59:26 +02:00

be included at the start of the implementation of the system unit (before the rest of except.inc) * catch declarations in/loading from the system unit of the TExceptAddr type * use this type instead of hardcoded size constants in the compiler * in generic code that is active for all targets, puts its use in a virtual method since it's only valid for targets using setjmp/longjmp-style exception handling (and the record is not defined at all in the JVM RTL) git-svn-id: branches/hlcgllvm@28376 -
38 lines
960 B
PHP
38 lines
960 B
PHP
{
|
|
This file is part of the Free Pascal run time library.
|
|
Copyright (c) 1999-2000 by Michael Van Canneyt
|
|
member of the Free Pascal development team
|
|
|
|
See the file COPYING.FPC, included in this distribution,
|
|
for details about the copyright.
|
|
|
|
This program is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
|
|
**********************************************************************}
|
|
|
|
Const
|
|
{ Type of exception. Currently only one. }
|
|
FPC_EXCEPTION = 1;
|
|
|
|
{ types of frames for the exception address stack }
|
|
cExceptionFrame = 1;
|
|
cFinalizeFrame = 2;
|
|
|
|
Type
|
|
PExceptAddr = ^TExceptAddr;
|
|
TExceptAddr = record
|
|
buf : pjmp_buf;
|
|
next : PExceptAddr;
|
|
{$ifdef CPU16}
|
|
frametype : Smallint;
|
|
{$else CPU16}
|
|
frametype : Longint;
|
|
{$endif CPU16}
|
|
end;
|
|
|
|
Const
|
|
CatchAllExceptions = PtrInt(-1);
|
|
|