Xref: utzoo comp.lang.fortran:5208 comp.sys.sgi:9615 comp.sys.dec:5579 Newsgroups: comp.lang.fortran,comp.sys.sgi,comp.sys.dec Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!uupsi!phage!xray1.cshl.org!pflugrat From: pflugrat@cshl.org (Jim Pflugrath) Subject: Bug in MIPS f77 internal READ Message-ID: Summary: internal READ is wrong when char is 10 Keywords: f77 bug MIPS Sender: news@cshl.org (NO MAIL) Organization: Cold Spring Harbor Laboratory Date: 21 Apr 91 02:36:45 GMT C C In the MIPS f77 compiler when one attempts an internal READ on C a string containing a newline character, one gets bogus results. C The following code demonstrates this. C If there is a fix, can someone please post it? C C Jim Pflugrath C C C==================================================================== C Program to demonstrate bug in internal READ C when a character has numeric value 10 (aka linefeed, newline). C C This bug shows up with the MIPS f77 compiler. C INTEGER I, J, K INTEGER*2 II CHARACTER*2 CC C DO 100 I = 0, 127 DO 100 J = 0, 127 WRITE (CC, '(A1, A1)') CHAR(I), CHAR(J) READ (CC, '(A2)') II C C Evans & Sutherland, Silicon Graphics and Big Endian architectures: C K = J + 256 * I C C ULTRIX and Little Endian architectures: C K = I + 256 * J C IF (K .NE. II) WRITE (6, *) 'I, J, II, K: ', I, J, II, K 100 CONTINUE CONTINUE STOP END