For Programmers: Free Programming Magazines  


Home > Archive > Fortran > November 2007 > Re: Fortran Error Reporting Requirements (Was: GFORTRAN PROBLEM WITH









You are viewing an archived Text-only version of the thread. To view this thread in it's original format and/or if you want to reply to this thread please [click here]

 

Author Re: Fortran Error Reporting Requirements (Was: GFORTRAN PROBLEM WITH
john.collins@simcon.uk.com

2007-11-28, 7:12 pm

On Nov 28, 3:59 am, "Craig Dedo" <cd...@wi.rr.com> wrote:
>
> Your idea is not new. It was proposed once before, in 1993 and 1994, and
> was originally intended to be part of Fortran 95. It was an error-trapping
> block structure called the ENABLE block. It had a rich set of defined
> exceptions, including integer-related exceptions. It also had statements that
> allowed the programmer to force the check of exceptions or to signal an
> exception at particular points in the code, wherever the CHECK or SIGNAL
> statements appeared.
>
> Unfortunately, J3 killed off this idea at the beginning of the J3 meeting in
> November 1994, after a lot of work had already been done on it. I remember that
> it was very controversial. Some of the controversy arose because of concerns
> that ENABLE blocks would greatly slow down execution speeds on some processors.
> I do not remember what the other objections and perceived difficulties were with
> it. Perhaps some of the people who were there at the time would be willing to
> share their recollections of what happened and why.
>
> I liked the ENABLE block feature and I would have liked to have seen it
> become part of Fortran 95.
>
> Dr. John K. Reid, then of the Rutherford Appleton Laboratory, and now the
> Convenor of WG5, the ISO Fortran Working Group, was the primary author and
> developer of the ENABLE block feature. He later developed the IEEE
> Floating-Point Exceptions feature as a slimmed-down replacement for ENABLE. The
> IEEE Floating-Point Exception feature is now part of Fortran 2003. However,
> there is great flexibility given to a compiler as to how much of it the compiler
> can choose to implement. In fact, the entire feature is optional. This is due
> to concerns that exception processing could greatly slow down execution speed.
>
> Unfortunately, we are working in an environment where raw execution speed,
> rather than robustness of operation, is king. This is a cultural issue, not a
> technical one. However, the vendors of Fortran compilers follow the money and
> right now the people who write the checks value raw speed over robustness.
>


Craig,

Thank you - the ENABLE block is exactly the kind of feature we would
like to see.
Is there an easy place to find the specification. An issue is that
many systems
are now limited in speed by memory access, not by the processor
performance, so
the cost of inserting code to check for exceptions, and John Harper
raises the
issue of integer overflow, is sometimes surprisingly small. We have
tools to
instrument code automatically, and could insert traps for those users
who prefer
security to raw speed.

Best wishes,

John
Sponsored Links







Also available: Server administration forum archive | Web Design forum archive | Software forum archive | Hardware reviews archive

Copyright 2008 codecomments.com