[patch, fortran] PR30681 "obsolescent" vs. "obsolete"

Jerry DeLisle jvdelisle@verizon.net
Thu Feb 8 02:05:00 GMT 2007


Brooks Moses wrote:
> Jerry DeLisle wrote:
>> This patch changes the word "Obsolete" to "Obsolescent" in the 
>> relevant error messages.  The behavior remains the same.  We throw an 
>> error instead of a warning with -std=f95 or -std=f2003 to discourage 
>> the use of these features which are in the "process of becoming obsolete"
> [...]
>> I will commit to 4.3 shortly and to 4.2 and 4.1 if no one objects.
> 
> I object.  :)
> 
> First, I would very strongly disagree with that behavior for obsolescent 
> features.  Obsolescent features are _permitted_ by the standard; thus 
> giving an error with -std=f95 is simply incorrect.  I would even 
> disagree with having a warning for obsolescent features unless the user 
> specifically and explicitly requested such.
> 
> With that said, however, these are in general DELETED features, not 
> obsolescent ones, and your rewording is incorrect:
> 
>> !           if (gfc_notify_std (GFC_STD_F95_DEL, "Obsolescent: ASSIGNED "
>>                     "variable in FORMAT tag at %L", &e->where)
> [...]
>> !     gfc_notify_std (GFC_STD_F95_DEL, "Obsolescent: REAL DO loop 
>> iterator at %L",
>>               &iter->var->where);
> [...]
>> !     gfc_notify_std (GFC_STD_F95_DEL, "Obsolescent: GOTO at %L jumps 
>> to END "
>>               "of construct at %L", &code->loc, &found->loc);
> 
> All of the error messages that you're rewording are controlled by 
> GFC_STD_F95_DEL.  This flag signals deleted features, which are NOT 
> permitted by the standard, and thus it is appropriate to throw an error.
> 
> There is one exception, though, which is a bug:
>> !   if (gfc_notify_std (GFC_STD_F95_DEL, "Obsolescent: arithmetic IF 
>> statement "
>>                 "at %C") == FAILURE)
> [...]
>> !       if (gfc_notify_std (GFC_STD_F95_DEL, "Obsolescent: arithmetic 
>> IF "
>>                 "statement at %C") == FAILURE)
> 
> Arithmetic IF statements are indeed merely obsolescent.  Here, your 
> rewording would be correct, but we should not be throwing this error, 
> and especially should not be throwing it conditioned on GFC_STD_F95_DEL.
> 
> - Brooks
> 
> 
I am happily corrected.  I will go back and clean this up some more.  I was sort 
of trolling for a response anyway.  It occurred to me as being a bit odd why we 
had errors on that one at all.

Thanks Brooks.

Jerry



More information about the Fortran mailing list