mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-20 21:09:24 +02:00
* HandleError -> HandleErrorFrame to avoid problem in
assembler code in i386.inc (call to overloaded function in assembler block !)
This commit is contained in:
parent
5c807e6b83
commit
02a46a6547
@ -688,7 +688,7 @@ begin
|
||||
begin
|
||||
l:=InOutRes;
|
||||
InOutRes:=0;
|
||||
HandleError(l,get_frame);
|
||||
HandleErrorFrame(l,get_frame);
|
||||
end;
|
||||
asm
|
||||
popal
|
||||
@ -699,7 +699,12 @@ end;
|
||||
|
||||
{
|
||||
$Log$
|
||||
Revision 1.36 1998-12-18 17:21:32 peter
|
||||
Revision 1.37 1998-12-21 14:28:20 pierre
|
||||
* HandleError -> HandleErrorFrame to avoid problem in
|
||||
assembler code in i386.inc
|
||||
(call to overloaded function in assembler block !)
|
||||
|
||||
Revision 1.36 1998/12/18 17:21:32 peter
|
||||
* fixed io-error handling
|
||||
|
||||
Revision 1.35 1998/12/15 22:42:53 peter
|
||||
|
@ -27,7 +27,7 @@
|
||||
{$i textrec.inc}
|
||||
|
||||
Procedure HandleError (Errno : Longint); forward;
|
||||
Procedure HandleError (Errno : longint;frame : longint); forward;
|
||||
Procedure HandleErrorFrame (Errno : longint;frame : longint); forward;
|
||||
|
||||
type
|
||||
FileFunc = Procedure(var t : TextRec);
|
||||
@ -277,7 +277,7 @@ end;
|
||||
|
||||
procedure int_overflow;[public,alias:'FPC_OVERFLOW'];
|
||||
begin
|
||||
HandleError(215,get_frame);
|
||||
HandleErrorFrame(215,get_frame);
|
||||
end;
|
||||
|
||||
|
||||
@ -298,7 +298,7 @@ end;
|
||||
Init / Exit / ExitProc
|
||||
*****************************************************************************}
|
||||
|
||||
Procedure HandleError (Errno : longint;frame : longint);
|
||||
Procedure HandleErrorFrame (Errno : longint;frame : longint);
|
||||
{
|
||||
Procedure to handle internal errors, i.e. not user-invoked errors
|
||||
Internal function should ALWAYS call HandleError instead of RunError.
|
||||
@ -324,7 +324,7 @@ Procedure HandleError (Errno : longint);[public,alias : 'FPC_HANDLEERROR'];
|
||||
Internal function should ALWAYS call HandleError instead of RunError.
|
||||
}
|
||||
begin
|
||||
HandleError(Errno,get_frame);
|
||||
HandleErrorFrame(Errno,get_frame);
|
||||
end;
|
||||
|
||||
|
||||
@ -468,7 +468,12 @@ end;
|
||||
|
||||
{
|
||||
$Log$
|
||||
Revision 1.48 1998-12-18 17:21:33 peter
|
||||
Revision 1.49 1998-12-21 14:28:21 pierre
|
||||
* HandleError -> HandleErrorFrame to avoid problem in
|
||||
assembler code in i386.inc
|
||||
(call to overloaded function in assembler block !)
|
||||
|
||||
Revision 1.48 1998/12/18 17:21:33 peter
|
||||
* fixed io-error handling
|
||||
|
||||
Revision 1.47 1998/12/15 22:43:03 peter
|
||||
|
@ -863,33 +863,33 @@ type pexception_record = ^exception_record;
|
||||
syswin32_i386_exception_handler:=ExceptionContinueSearch;
|
||||
case excep^.ExceptionRecord^.ExceptionCode of
|
||||
EXCEPTION_ACCESS_VIOLATION :
|
||||
Handleerror(216,frame);
|
||||
HandleErrorFrame(216,frame);
|
||||
{ EXCEPTION_BREAKPOINT = $80000003;
|
||||
EXCEPTION_DATATYPE_MISALIGNMENT = $80000002;
|
||||
EXCEPTION_SINGLE_STEP = $80000004; }
|
||||
EXCEPTION_ARRAY_BOUNDS_EXCEEDED :
|
||||
Handleerror(201,frame);
|
||||
HandleErrorFrame(201,frame);
|
||||
{ EXCEPTION_FLT_DENORMAL_OPERAND = $c000008d; }
|
||||
EXCEPTION_FLT_DIVIDE_BY_ZERO :
|
||||
Handleerror(200,frame);
|
||||
HandleErrorFrame(200,frame);
|
||||
{EXCEPTION_FLT_INEXACT_RESULT = $c000008f;
|
||||
EXCEPTION_FLT_INVALID_OPERATION = $c0000090;}
|
||||
EXCEPTION_FLT_OVERFLOW :
|
||||
Handleerror(205,frame);
|
||||
HandleErrorFrame(205,frame);
|
||||
EXCEPTION_FLT_STACK_CHECK :
|
||||
Handleerror(207,frame);
|
||||
HandleErrorFrame(207,frame);
|
||||
{ EXCEPTION_FLT_UNDERFLOW :
|
||||
Handleerror(206,frame); should be accepted as zero !! }
|
||||
HandleErrorFrame(206,frame); should be accepted as zero !! }
|
||||
EXCEPTION_INT_DIVIDE_BY_ZERO :
|
||||
Handleerror(200,frame);
|
||||
HandleErrorFrame(200,frame);
|
||||
EXCEPTION_INT_OVERFLOW :
|
||||
Handleerror(215,frame);
|
||||
HandleErrorFrame(215,frame);
|
||||
{EXCEPTION_INVALID_HANDLE = $c0000008;
|
||||
EXCEPTION_PRIV_INSTRUCTION = $c0000096;
|
||||
EXCEPTION_NONCONTINUABLE_EXCEPTION = $c0000025;
|
||||
EXCEPTION_NONCONTINUABLE = $1;}
|
||||
EXCEPTION_STACK_OVERFLOW :
|
||||
Handleerror(202,frame);
|
||||
HandleErrorFrame(202,frame);
|
||||
{EXCEPTION_INVALID_DISPOSITION = $c0000026;}
|
||||
end;
|
||||
end;
|
||||
@ -951,7 +951,12 @@ end.
|
||||
|
||||
{
|
||||
$Log$
|
||||
Revision 1.29 1998-12-15 22:43:14 peter
|
||||
Revision 1.30 1998-12-21 14:28:23 pierre
|
||||
* HandleError -> HandleErrorFrame to avoid problem in
|
||||
assembler code in i386.inc
|
||||
(call to overloaded function in assembler block !)
|
||||
|
||||
Revision 1.29 1998/12/15 22:43:14 peter
|
||||
* removed temp symbols
|
||||
|
||||
Revision 1.28 1998/12/09 17:57:33 pierre
|
||||
@ -960,7 +965,7 @@ end.
|
||||
Revision 1.27 1998/12/01 14:00:08 pierre
|
||||
+ added conversion from exceptions into run time error
|
||||
(only if syswin32 compiled with -ddebug for now !)
|
||||
* added HandleError(errno,frame)
|
||||
* added HandleErrorFrame(errno,frame)
|
||||
where you specify the frame
|
||||
needed for win32 exception handling
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user