| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- (* Release 3.10 *)
- (*-------------------------------------------------------------------------*
- * *
- * FLOATEXC.MOD - Floating-point exception handlers *
- * *
- * COPYRIGHT (C) 1987..1992 Clarion Software Corporation. *
- * All Rights Reserved *
- * *
- *--------------------------------------------------------------------------*)
- (*# call(seg_name => null,
- ds_entry=>null) *)
- (*# data(seg_name => null) *)
- (*# check(stack=>off,
- index=>off,
- range=>off,
- overflow=>off,
- nil_ptr=>off) *)
- IMPLEMENTATION MODULE FloatExc;
- IMPORT CoreSig;
- VAR
- Handler, OldHandler, Dummy: CoreSig.SigProcType;
- Init: BOOLEAN;
- PROCEDURE EnableExceptionHandling;
- BEGIN
- IF Init THEN
- Dummy := CoreSig.signal(8, CoreSig.SigProcType(Handler));
- END;
- END EnableExceptionHandling;
- PROCEDURE DisableExceptionHandling;
- BEGIN
- IF Init THEN
- Dummy := CoreSig.signal(8, CoreSig.SigProcType(OldHandler));
- END;
- END DisableExceptionHandling;
- PROCEDURE InstallHandler(H: FloatErrHandler);
- BEGIN
- Handler := CoreSig.SigProcType(H);
- OldHandler := CoreSig.signal(8, CoreSig.SigProcType(H));
- Init := TRUE;
- END InstallHandler;
- BEGIN
- Init := FALSE;
- END FloatExc.
|