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