* HandleError -> HandleErrorFrame to avoid problem in

assembler code in i386.inc
    (call to overloaded function in assembler block !)
This commit is contained in:
pierre 1998-12-21 14:28:20 +00:00
parent 5c807e6b83
commit 02a46a6547
3 changed files with 33 additions and 18 deletions

View File

@ -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

View File

@ -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

View File

@ -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