jerry@violet.berkeley.edu (09/17/86)
We have just gotten a Cray X-MP/12 running UNICOS, Cray's System V based UNIX operating system. The Fortran compiler is CFT 1.15. Cray claims its Fortran follows the 1977 standard. How close it it? One exception I've noticed so far is that Cray treats EOF like CDC did, you can have an "end=" clause to detect EOF, or you can test after the read by "if(eof(5))". To allow this Cray does not kick you off if there's no data and no "end=" clause. However, Cray kicks you off if you do two reads with no data and no "end=" and no "if(eof(". If you're wondering what UNICOS is like, it's quite different from BSD UNIX. It's based on System V and there are differences between System V and BSD in every command I've used, except some of the built-in commands in the shell. For example, "mv" and "cp" don't have the "-i" option, "rm" has "-i" but you must say "rm -ir" rather than "rm -i -r", "mv" will not move a directory to a subdirectory, "ls" default is single column, "diff" does not have "-r" option, ... CFT is Cray's standard FORTRAN, but the port to UNICOS is new and has a lot of minor bugs. These are mainly in the I/O library, handling interrupts, and analyzing options. Please send me any info you have about CFT vs. the FORTRAN standard. I'll summarize them to the net. - Jerry Berkman Academic Computing Services, U. C. Berkeley (415) 642-4804 jerry@violet.Berkeley.EDU
woods@hao.UUCP (Greg Woods) (09/19/86)
From my experience with a CRAY-1A system, CFT implements the FORTRAN-77 standard, but it does allow many extensions to that standard. The if(eof()) is one of them. The standard says that an uncaught EOF on a read is a fatal error. If you have a CFT manual, it notes what things that are supported are non-standard. --Greg