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
+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
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
+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.
--- /dev/null
+! { 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