Another F77-3.3 Bug
Knobi der Rechnerschrat
XBR2D96D at DDATHD21.BITNET
Fri Jun 29 22:54:30 AEST 1990
Hallo,
I've another F77 3.3 bug. As it seems very severe I post It to the list
and not to Calvin Vu (SGI) alone. If you compile/link/run the appended
program t1.f under 3.3 you will get the following two lines of output:
1 T
bla is false
As anybody can see, bla IS in fact TRUE, so the program lies. In the
release notes 3.3 FORTRAN 77 is stated:
(SCR 6822): Printing out LOGICAL*1 values results in 0/1 being printed
instead of F/T.
That is the cause for the '1 T' output line. Unfortunatelly there seems
to be an unknown problem with using LOGICAL*1 in IF statements. As this is
absolutely deadly for programs using LOGICAL*1 (e.g. for storage saving)
I feel this should be known to the "public" and fixed as soon as possible.
Regards
Martin Knoblauch
TH-Darmstadt
Physical Chemistry 1
Petersenstrasse 20
D-6100 Darmstadt, FRG
BITNET: <XBR2D96D at DDATHD21>
PS: Dear Calvin, sorry for posting this to everybody, but I feel it is
important news and I'm also not sure whether my mails make the way
to SGI directly.
----------------------------t1.f----------------------------------------------
program bug_6822
c
logical*1 bla
logical bla4
c
bla = .true.
bla4 = .true.
write(*,*) bla,bla4
c
if(.not.bla) write(*,*) 'bla is false'
if(.not.bla4) write(*,*) 'bla4 is false'
c
end
---------------------------end of t1.f-----------------------------------------
More information about the Comp.sys.sgi
mailing list