aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/interface.c
diff options
context:
space:
mode:
authorMark Eggleston <mark.eggleston@codethink.com>2019-10-03 09:40:23 +0000
committerMark Eggleston <markeggleston@gcc.gnu.org>2019-10-03 09:40:23 +0000
commitf61e54e59cda5a2e281d525d3f87ffa179fae1ae (patch)
tree522705254b54086a43db1ff08a986353ea587ff9 /gcc/fortran/interface.c
parent38a734350fd787da1b4bcf9b4e0a99ed2adb5eae (diff)
downloadgcc-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.c11
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;
}