re PR fortran/34901 (add kind information to mismatched-types error message)

2007-01-21  Tobias Burnus  <burnus@net-b.de>

        PR fortran/34901
        * interface.c (compare_parameter): Improved error message
        for arguments of same type and mismatched kinds.

From-SVN: r131700
This commit is contained in:
Tobias Burnus 2008-01-21 19:33:10 +01:00 committed by Tobias Burnus
parent bb0c55f6ee
commit d68e117b15
2 changed files with 9 additions and 11 deletions

View file

@ -1,3 +1,9 @@
2007-01-21 Tobias Burnus <burnus@net-b.de>
PR fortran/34901
* interface.c (compare_parameter): Improved error message
for arguments of same type and mismatched kinds.
2008-01-20 Paul Thomas <pault@gcc.gnu.org>
PR fortran/34861

View file

@ -1470,18 +1470,10 @@ compare_parameter (gfc_symbol *formal, gfc_expr *actual,
if ((actual->expr_type != EXPR_NULL || actual->ts.type != BT_UNKNOWN)
&& !gfc_compare_types (&formal->ts, &actual->ts))
{
if (where && actual->ts.type == BT_DERIVED
&& formal->ts.type == BT_DERIVED)
gfc_error ("Type mismatch in argument '%s' at %L; passed type(%s) to "
"type(%s)", formal->name, &actual->where,
actual->ts.derived->name, formal->ts.derived->name);
else if (where)
if (where)
gfc_error ("Type mismatch in argument '%s' at %L; passed %s to %s",
formal->name, &actual->where,
actual->ts.type == BT_DERIVED ? "derived type"
: gfc_basic_typename (actual->ts.type),
formal->ts.type == BT_DERIVED ? "derived type"
: gfc_basic_typename (formal->ts.type));
formal->name, &actual->where, gfc_typename (&actual->ts),
gfc_typename (&formal->ts));
return 0;
}