http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56284



--- Comment #10 from janus at gcc dot gnu.org 2013-02-12 13:31:22 UTC ---

(In reply to comment #9)

> Do you understand why the test in gfc_match_return (file match.c)

> 

>   if (gfc_notify_std (GFC_STD_F95_OBS, "Alternate RETURN "

>                       "at %C") == FAILURE)

>     return MATCH_ERROR;

> 

> is not used?



Yeah. The reason is that this one only triggers on an actual RETURN statement,

but not if an unused alt-return argument is declared (as e.g. in comment 2).





> Note that the error is slightly different to the one used in comment #5.



Yes, I did that on purpose, since both warn for slightly different things: The

former for an ('alternate') RETURN statement and the latter for an

alternate-return dummy argument.



In fact one could think about removing the error message in gfc_match_return

and only keeping the one in gfc_match_formal_arglist. After all it makes no

sense to have an alternate RETURN statement without an alternate-return dummy.

However, since gfortran only gives a warning for this case(*), I think it does

not hurt to keep both error messages.





(*) "Warning: An alternate return at (1) without a * dummy argument"

Reply via email to