------- Comment #7 from tkoenig at gcc dot gnu dot org 2005-11-05 23:20 ------- (In reply to comment #6)
> I think we should be consistent. g77 also gives inconsistent results with the test program: $ cat logic.f program main implicit none logical :: lo1, lo2 integer :: in, i equivalence(lo1, in) do i=0,4 in = i call settrue(lo2) print *,i, lo1 , lo1 .eqv. lo2, lo1 .eqv. .true. end do end subroutine settrue(lo) logical :: lo lo = .true. end subroutine $ g77 logic.f $ ./a.out 0 F F F 1 T T T 2 T F F 3 T F F 4 T F F 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.}. and g77 does something else from what we do. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22495