(j3.2006) (SC22WG5.5389) [ukfortran] Straw vote on draft DTS

N.M. Maclaren nmm1
Mon Dec 8 05:01:29 EST 2014


On Dec 8 2014, Malcolm Cohen wrote:

> Bill Long writes: <<< it is equivalent to implementing the infrastructure 
> to handle an exception handling mechanism. [...] Given that exception 
> handlers already exist in other languages, and certainly at the system 
> level, the argument that implementors do not know how to do this seems 
> weak at best. I understand grumbling about hard work, not claims of 
> inability.
>>>>
>
> And the claims of inability (from me at least) are to do with 
> implementing it *efficiently* without impacting programs that do not use 
> the feature. The fact that the huge clanking machinery of C++ exceptions 
> exists, and slows down C++ programs, is not a counterexample!

I was not intending to continue, but realise I omitted this.  Sorry.

Much, much more importantly, it doesn't even deal with the same problem.
Despite the original intent, it supports only explicitly-thrown exceptions
and the specification is that all actions before the throw are completed 
in toto and none of those after it and before the catch are even started.
And the reason it got downgraded is precisely because specifying how it
could handle general failures was too much for WG21.

Image failure is more general in that it has to handle operations that
fail horribly part-way through, both because of the less serial nature
of Fortran and because of the nature of coarray failure.  I have a draft
specification I wrote for WG14 on how it could be specified for signal
handling, based on my experiences with using and implementing run-time
systems' error recovery.  Please ask for a copy but, be warned, it is
not simple, not pretty and would need a lot of work to extend it to
Fortran.


Regards,
Nick Maclaren.






More information about the J3 mailing list