Rainer Weikusat <rweikusat@???> writes:
> Didier Kryn <kryn@???> writes:
>> Le 07/07/2016 23:57, Rainer Weikusat a écrit :
>>> Didier Kryn <kryn@???> writes:
>>>> Le 07/07/2016 19:25, Rainer Weikusat a écrit :
>>>>> The conversion happened implicitly as part of an assignment and the Ada
>>>> There isn't implicit conversion in Ada.
>>> I vaguely imagine writing somewhat more than 'the Ada runtime threw an
>>> exception because it was asked to do a lossy assignment' (specifically,
>>> 'conversion' was you term and I just used it because you did).
>>> _______________________________________________
>>>
>>
>> There aren't lossy assignments either.
>
> Call that anything you like provided you're willing to stop disputing
> reality:
>
>
> The internal SRI software exception was caused during execution
> of a data conversion from 64-bit floating point to 16-bit signed
> integer value. The floating point number which was converted had
> a value greater than what could be represented by a 16-bit
> signed integer. This resulted in an Operand Error. The data
> conversion instructions (in Ada code) were not protected from
> causing an Operand Error,
>
> https://www.ima.umn.edu/~arnold/disasters/ariane5rep.html
To be mentioned again here: The reason this exception wasn't handle was
because the specifcation called for the CPU to be halted in case of any
errors and the software thus performed exactly according to its
specification:
In the event of any kind of exception, the system specification
stated that: the failure should be indicated on the databus, the
failure context should be stored in an EEPROM memory (which was
recovered and read out for Ariane 501), and finally, the SRI
processor should be shut down.
[dito]