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/interface.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/interface.c')
-rw-r--r-- | gcc/fortran/interface.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/fortran/interface.c b/gcc/fortran/interface.c index fff8c39..5741911 100644 --- a/gcc/fortran/interface.c +++ b/gcc/fortran/interface.c @@ -1023,6 +1023,9 @@ static gfc_try check_dummy_characteristics (gfc_symbol *s1, gfc_symbol *s2, bool type_must_agree, char *errmsg, int err_len) { + if (s1 == NULL || s2 == NULL) + return s1 == s2 ? SUCCESS : FAILURE; + /* Check type and rank. */ if (type_must_agree && !compare_type_rank (s2, s1)) { |