This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug fortran/22495] Different ideas about .true. and .false.



------- 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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]