aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/resolve.c
diff options
context:
space:
mode:
authorSteven G. Kargl <kargl@gcc.gnu.org>2018-06-09 15:58:24 +0000
committerSteven G. Kargl <kargl@gcc.gnu.org>2018-06-09 15:58:24 +0000
commit1dd88f8beedd63cd957edcdf2a28f7b76dfc583a (patch)
treeca0891c34fc2374a2efdbb7e31482d272bb071dd /gcc/fortran/resolve.c
parent3cf89a7b992d483e80b3b5960f6f4012fae95045 (diff)
downloadgcc-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.c8
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));