Hi all,

here is a small patch which does two things:
1) It fixes the ICE in the subject line (in a rather obvious way).
2) It warns about alternate-return arguments (which is an obsolescent
feature), and adds -std=legacy to some test cases to suppress the
warning.

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.

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).

The patch is regtested on x86_64-unknown-linux-gnu. Ok for trunk?

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.

Attachment: pr56284.diff
Description: Binary data

Attachment: altreturn_8.f90
Description: Binary data

Reply via email to