[net.lang.f77] Cray FORTRAN

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