[EMAIL PROTECTED] (Ross Ridge) writes:

> Robert Dewar writes:
> >Yes, and that is what we would want for Ada, so I am puzzled by your
> >sigh. All Ada needs to do is to issue a constraint_error exception,
> >it does not need to know where the exception came from or why except
> >in very broad detail.
> 
> Unless printing "This application has requested the Runtime to terminate
> it in an unusual way." counts an issuing a contraint_error in Ada,
> it seems to me that -ftrapv and Ada have differing requirements.
> How can you portabilty and correctly generate a constraint_error if
> the code generated by -ftrapv calls the C runtime function abort()?
> On Unix-like systems you can catch SIGABRT, but even there how do you
> tell that it didn't come from CTRL-\, a signal sent from a different
> process, or abort() called fom some other context?  With INTO I don't
> see any way distignuish the SIGSEGV it generates on Linux from any of
> the myriad other ways a SIGSEGV can be generated.

Easy: The signal frame that is passed as an argument to the signal handler 
has a trapno member than will contain 4 for INTO. The only other case where 
it would contain 4 would be a explicit int 4

-Andi

Reply via email to