>>> Regarding the second point, one should mention that we already have a >>> warning for "alternate return", but this only triggers if there is an >>> actual RETURN statement (which is not the case for the test code in >>> the PR). The warning I'm adding triggers on the appearance of an >>> asterisk argument. >> >> Shouldn't one then remove the other warning, which should be then >> unreachable? If so, please do so. > > Yes, will do so in a follow-up patch. > > >>> This induces a certain redundancy, i.e. we warn about both the >>> alternate-return argument and the alternate RETURN statement. The >>> question is if we want to keep this, or whether on can remove the old >>> warning for the RETURN statement (which could be done in a follow-up >>> patch). >> >> Or it is not unreachable but leads to double-diagnostic which is not better, >> either. > > Right. > >>> The patch is regtested on x86_64-unknown-linux-gnu. Ok for trunk? >> >> OK with the -std= change. (Please run "make >> RUNTESTFLAGS="dg.exp=.<name>.f90" prior committal to check whether it indeed >> works with -std=gnu.) > > All of them still work with std=gnu.
I have just committed the patch as 197389. Will take care of removing the double diagnostics next. Also I just noticed that there still seem to be cases where one does not get a warning for alternate return (such as altreturn_1 and altreturn_4 in the testsuite). Cheers, Janus >>> 2013-04-01 Janus Weil <ja...@gcc.gnu.org> >>> >>> PR fortran/56284 >>> PR fortran/40881 >>> * decl.c (gfc_match_formal_arglist): Warn about alternate-return >>> arguments. >>> * interface.c (check_dummy_characteristics): Return if symbols are >>> NULL. >>> >>> 2013-04-01 Janus Weil <ja...@gcc.gnu.org> >>> >>> PR fortran/56284 >>> PR fortran/40881 >>> * gfortran.dg/altreturn_8.f90: New. >>> * gfortran.dg/altreturn_2.f90: Add -std=legacy. >>> * gfortran.dg/intrinsic_actual_3.f90: Ditto. >>> * gfortran.dg/invalid_interface_assignment.f90: Ditto. >> >>