------- Comment #9 from tobi at gcc dot gnu dot org 2005-11-06 00:22 ------- One can get quite interesting results out of g77, e.g. [EMAIL PROTECTED]:~/src/tests> cat ugly.f LOGICAL L, M equivalence (i,l) DO i=0,5 M = i PRINT "(5l2)", l, m, l.neqv..true., m.neqv..true., m.neqv.l END DO END [EMAIL PROTECTED]:~/src/tests> g77 ugly.f -fugly-logint [EMAIL PROTECTED]:~/src/tests> ./a.out F F T T F T T F F F T T T T F T T T T F T T T T F T T T T F [EMAIL PROTECTED]:~/src/tests> replacing .neqv. with .eqv. on the other hand gives the "correct" result.
> The test program shows that we don't currently implement the part > > > When > > converting from INTEGER to LOGICAL, the value zero is interpreted as > > @code{.FALSE.} and any nonzero value is interpreted as @code{.TRUE.}. Note that the equivalence doesn't imply conversion, so we don't contradict our documentation. Overall, given the inconsistencies in g77, and also between different other compilers, I think we shouldn't bother fixing this. I agree that adding a warning to the documentation is a good idea. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22495