re PR fortran/31580 (Better error message for not-found operator)

gcc/fortran:
2007-06-29  Daniel Franke  <franke.daniel@gmail.com>

        PR fortran/31580
        * resolve.c (resolve_operator): Added check whether a user 
	defined operator is available.

gcc/testsuite:
2007-06-29  Daniel Franke  <franke.daniel@gmail.com>

	PR fortran/31580
	* gfortran.dg/operator_3.f90: New test.

From-SVN: r126117
This commit is contained in:
Daniel Franke 2007-06-29 15:05:58 -04:00 committed by Daniel Franke
parent bc3d41534a
commit 622af87fc8
4 changed files with 21 additions and 1 deletions

View File

@ -1,3 +1,8 @@
2007-06-29 Daniel Franke <franke.daniel@gmail.com>
* resolve.c (resolve_operator): Added check whether a user
defined operator is available.
2007-06-29 Daniel Franke <franke.daniel@gmail.com>
* openmp.c (resolve_omp_clauses): Adjust error message to

View File

@ -2251,7 +2251,9 @@ resolve_operator (gfc_expr *e)
goto bad_op;
case INTRINSIC_USER:
if (op2 == NULL)
if (e->value.op.uop->operator == NULL)
sprintf (msg, _("Unknown operator '%s' at %%L"), e->value.op.uop->name);
else if (op2 == NULL)
sprintf (msg, _("Operand of user operator '%s' at %%L is %s"),
e->value.op.uop->name, gfc_typename (&op1->ts));
else

View File

@ -1,3 +1,7 @@
2007-06-29 Daniel Franke <franke.daniel@gmail.com>
* gfortran.dg/operator_3.f90: New test.
2007-06-29 Daniel Franke <franke.daniel@gmail.com>
* gfortran.dg/gomp/reduction1.f90: Adjust error message.

View File

@ -0,0 +1,9 @@
! { dg-compile }
! PR fortran/31580
!
! Testcase contributed by Tobias Burnus <burnus AT gcc DOT gnu DOT org>
!
PROGRAM test
real :: a,b
if(a .nonex. b) stop ! { dg-error "Unknown operator" }
end program