diff options
author | Janus Weil <janus@gcc.gnu.org> | 2013-04-03 09:31:23 +0200 |
---|---|---|
committer | Janus Weil <janus@gcc.gnu.org> | 2013-04-03 09:31:23 +0200 |
commit | 9362a03b8760f7ea986af5b0b22a5b80bed9d05d (patch) | |
tree | d3cc478f4d5200ef178ed16cff43e7f30cf49991 /gcc/fortran/decl.c | |
parent | e0f0935b9dbe8028ba426c6b1051dff96d043f2e (diff) | |
download | gcc-9362a03b8760f7ea986af5b0b22a5b80bed9d05d.zip gcc-9362a03b8760f7ea986af5b0b22a5b80bed9d05d.tar.gz gcc-9362a03b8760f7ea986af5b0b22a5b80bed9d05d.tar.bz2 |
re PR fortran/56284 ([OOP] ICE with alternate return in type-bound procedure)
2013-04-03 Janus Weil <janus@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-03 Janus Weil <janus@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.
From-SVN: r197389
Diffstat (limited to 'gcc/fortran/decl.c')
-rw-r--r-- | gcc/fortran/decl.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/gcc/fortran/decl.c b/gcc/fortran/decl.c index 72c511c..3188eae 100644 --- a/gcc/fortran/decl.c +++ b/gcc/fortran/decl.c @@ -4487,7 +4487,15 @@ gfc_match_formal_arglist (gfc_symbol *progname, int st_flag, int null_flag) for (;;) { if (gfc_match_char ('*') == MATCH_YES) - sym = NULL; + { + sym = NULL; + if (gfc_notify_std (GFC_STD_F95_OBS, "Alternate-return argument " + "at %C") == FAILURE) + { + m = MATCH_ERROR; + goto cleanup; + } + } else { m = gfc_match_name (name); |