[Patch, Fortran] PING: PR fortran/35723
Daniel Kraft
d@domob.eu
Wed Oct 8 16:36:00 GMT 2008
Dominique Dhumieres wrote:
>> Despite removal of error suppressing, I would like to keep the clean up
>> of error suppression code in there; the code in interface.c had at least
>> some cases where the suppression-flag could stay set and be not reverted.
>> I've not tried to construct a test case exercising this, however. Is
>> this ok?
>
> I did not see any difference between gfortran with or without the clean up
> of error suppression code. If I understand correctly, you have found some
> case(s) for which some error(s) was (were) not emitted in a way similar to
> what I have seen with the first patch for pr35680, or some spurious
> emission(s). Is this correct? If yes, I think this should be documented
> in a place not too difficult to find (thoug I have no precise idea where it
> could be, may be a comment in the code).
For one thing, before my patch error suppressing was simply a boolean
flag, true or false; thus, if a error suppressing function would have
called another one, the callee would have reset the flag to false on
exit and the second half of the caller would not have the errors
suppressed; I don't think this could happen with the code at the moment,
though. I replaced this flag by a counter of how many levels of
suppressing are active.
During this process, I encountered that some assertions I put in to
ensure correct deactivating using these levels failed and found that the
code in interface.c touched by my patch did not reset the suppress error
flags on some early exits (while they are, as they should, for the main
code path). Possibly these changes have no direct effect, but in any
case I would call this behaviour clearly a bug and believe my patch
makes things cleaner and safer.
I don't quite know where to document this, though... In my eyes it's
just a bug fix apparent for anyone looking sufficiently close at the
error suppressing in those functions, and a comment about that I fixed
this wouldn't make things clearer.
That's my opinion though, I'm open to comments :)
Thanks for your thoughts!
Daniel
--
Done: Arc-Bar-Cav-Rog-Sam-Val-Wiz
To go: Hea-Kni-Mon-Pri-Ran-Tou
More information about the Fortran
mailing list