diff options
author | Mark Eggleston <mark.eggleston@codethink.com> | 2019-10-03 09:40:23 +0000 |
---|---|---|
committer | Mark Eggleston <markeggleston@gcc.gnu.org> | 2019-10-03 09:40:23 +0000 |
commit | f61e54e59cda5a2e281d525d3f87ffa179fae1ae (patch) | |
tree | 522705254b54086a43db1ff08a986353ea587ff9 /gcc/fortran/interface.c | |
parent | 38a734350fd787da1b4bcf9b4e0a99ed2adb5eae (diff) | |
download | gcc-f61e54e59cda5a2e281d525d3f87ffa179fae1ae.zip gcc-f61e54e59cda5a2e281d525d3f87ffa179fae1ae.tar.gz gcc-f61e54e59cda5a2e281d525d3f87ffa179fae1ae.tar.bz2 |
Character typenames in errors and warnings
Character type names now incorporate length, kind is only shown if
the default character is not being used.
Examples:
character(7) is reported as CHARACTER(7)
character(len=20,kind=4) is reported as CHARACTER(20,4)
dummy character variables with assumed length:
character(*) is reported as CHARACTER(*)
character(*,kind=4) is reported as CHARACTER(*,4)
From-SVN: r276505
Diffstat (limited to 'gcc/fortran/interface.c')
-rw-r--r-- | gcc/fortran/interface.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/gcc/fortran/interface.c b/gcc/fortran/interface.c index 08e4f06..3313e72 100644 --- a/gcc/fortran/interface.c +++ b/gcc/fortran/interface.c @@ -1330,7 +1330,8 @@ gfc_check_dummy_characteristics (gfc_symbol *s1, gfc_symbol *s2, || !compare_type_characteristics (s2, s1)) { snprintf (errmsg, err_len, "Type mismatch in argument '%s' (%s/%s)", - s1->name, gfc_typename (&s1->ts), gfc_typename (&s2->ts)); + s1->name, gfc_dummy_typename (&s1->ts), + gfc_dummy_typename (&s2->ts)); return false; } if (!compare_rank (s1, s2)) @@ -2338,15 +2339,15 @@ compare_parameter (gfc_symbol *formal, gfc_expr *actual, "and actual argument at %L (%s/%s).", &actual->where, &formal->declared_at, - gfc_typename (&actual->ts), - gfc_typename (&formal->ts)); + gfc_typename (actual), + gfc_dummy_typename (&formal->ts)); formal->error = 1; } else gfc_error_opt (0, "Type mismatch in argument %qs at %L; passed %s " - "to %s", formal->name, where, gfc_typename (&actual->ts), - gfc_typename (&formal->ts)); + "to %s", formal->name, where, gfc_typename (actual), + gfc_dummy_typename (&formal->ts)); } return false; } |