Consider the following code snippet: =========================== subroutine FOO logical I I = I .eq. I end subroutine FOO ===========================
g77 used to give the following error message with the suggesiton what to do: test.f: In subroutine `foo': test.f:3: I = I .eq. I 1 2 3 Use .EQV./.NEQV. instead of .EQ./.NE. at (2) for LOGICAL operands at (1) and (3) gfortran only gives: In file test.f90:3 I = I .eq. I 1 Error: Operands of comparison operator '.eq.' at (1) are LOGICAL(4)/LOGICAL(4) A suggestion to use .EQV./.NEQV. instead would be nice (especially since other compilers accept the code without modification). -- Summary: Suggest to use .EQV. when comparing logicals with .EQ. Product: gcc Version: 4.1.0 Status: UNCONFIRMED Keywords: diagnostic Severity: enhancement Priority: P2 Component: fortran AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: reichelt at gcc dot gnu dot org CC: gcc-bugs at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22503