diff options
author | Steven G. Kargl <kargl@gcc.gnu.org> | 2018-06-09 15:58:24 +0000 |
---|---|---|
committer | Steven G. Kargl <kargl@gcc.gnu.org> | 2018-06-09 15:58:24 +0000 |
commit | 1dd88f8beedd63cd957edcdf2a28f7b76dfc583a (patch) | |
tree | ca0891c34fc2374a2efdbb7e31482d272bb071dd /gcc/fortran/resolve.c | |
parent | 3cf89a7b992d483e80b3b5960f6f4012fae95045 (diff) | |
download | gcc-1dd88f8beedd63cd957edcdf2a28f7b76dfc583a.zip gcc-1dd88f8beedd63cd957edcdf2a28f7b76dfc583a.tar.gz gcc-1dd88f8beedd63cd957edcdf2a28f7b76dfc583a.tar.bz2 |
re PR fortran/38351 (Poor error message for rank mismatch in operator args)
2018-06-09 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/38351
* resolve.c (resolve_operator): Provide better error message for
derived type entity used in an binary intrinsic numeric operator.
2018-06-09 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/38351
* gfortran.dg/pr38351.f90: New test.
* gfortran.dg/typebound_operator_4.f03: Adjust for new error message.
From-SVN: r261363
Diffstat (limited to 'gcc/fortran/resolve.c')
-rw-r--r-- | gcc/fortran/resolve.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/gcc/fortran/resolve.c b/gcc/fortran/resolve.c index 3d53ce5..b1d4e03 100644 --- a/gcc/fortran/resolve.c +++ b/gcc/fortran/resolve.c @@ -3878,7 +3878,13 @@ resolve_operator (gfc_expr *e) break; } - sprintf (msg, + if (op1->ts.type == BT_DERIVED || op2->ts.type == BT_DERIVED) + sprintf (msg, + _("Unexpected derived-type entities in binary intrinsic " + "numeric operator %%<%s%%> at %%L"), + gfc_op2string (e->value.op.op)); + else + sprintf (msg, _("Operands of binary numeric operator %%<%s%%> at %%L are %s/%s"), gfc_op2string (e->value.op.op), gfc_typename (&op1->ts), gfc_typename (&op2->ts)); |