diff options
author | Janus Weil <janus@gcc.gnu.org> | 2013-05-28 13:21:44 +0200 |
---|---|---|
committer | Janus Weil <janus@gcc.gnu.org> | 2013-05-28 13:21:44 +0200 |
commit | 2265988cd43beaa553ac76c0ff55f3e60aeba8fb (patch) | |
tree | 5e8654fb920d16aba1d09069cf10f144cc24baec /gcc/fortran/interface.c | |
parent | bd388c2a87709ba917054a7450a4d39d2d97635d (diff) | |
download | gcc-2265988cd43beaa553ac76c0ff55f3e60aeba8fb.zip gcc-2265988cd43beaa553ac76c0ff55f3e60aeba8fb.tar.gz gcc-2265988cd43beaa553ac76c0ff55f3e60aeba8fb.tar.bz2 |
re PR fortran/57217 ([OOP] Accepts invalid TBP overriding - lacking arguments check)
2013-05-28 Janus Weil <janus@gcc.gnu.org>
Tobias Burnus <burnus@net-b.de>
PR fortran/57217
* interface.c (check_dummy_characteristics): Symmetrize type check.
2013-05-28 Janus Weil <janus@gcc.gnu.org>
Tobias Burnus <burnus@net-b.de>
PR fortran/57217
* gfortran.dg/typebound_override_4.f90: New.
Co-Authored-By: Tobias Burnus <burnus@net-b.de>
From-SVN: r199375
Diffstat (limited to 'gcc/fortran/interface.c')
-rw-r--r-- | gcc/fortran/interface.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/fortran/interface.c b/gcc/fortran/interface.c index 1b967fa..2f8c6a5 100644 --- a/gcc/fortran/interface.c +++ b/gcc/fortran/interface.c @@ -1030,7 +1030,8 @@ check_dummy_characteristics (gfc_symbol *s1, gfc_symbol *s2, return s1 == s2 ? true : false; /* Check type and rank. */ - if (type_must_agree && !compare_type_rank (s2, s1)) + if (type_must_agree && + (!compare_type_rank (s1, s2) || !compare_type_rank (s2, s1))) { snprintf (errmsg, err_len, "Type/rank mismatch in argument '%s'", s1->name); |