Type "man f90" to obtain the following: F90(L) LOCAL COMMANDS F90(L) NAME f90 - Fortran 90 compiler USAGE f90 [option] ... [file]... DESCRIPTION f90 is the Fortran 90 compiler. It translates programs written in Fortran 77 or Fortran 90 into executable pro- grams, relocatable binary modules, assembler source files or C source files. The action f90 performs on each file depends on its suffix. Files ending in .f90 are taken to be Fortran 90 free form source files, files ending in .f , .for or .ftn are taken to be Fortran 90 fixed form (or Fortran 77) source files. If a filename without a suffix is provided and there is no file of that name, the suffix ".f90" is assumed. Modules and include files are expected to exist in the current working directory or in a directory named by the -I option. Options not recognised by f90 are passed to the load phase (/bin/ld on SunOS4 and HP/Apollo Domain, cc on others). OPTIONS -132 Increase the length of each fixed source form input line from 72 characters to 132 characters. This has no effect on free source form input. -bc=2.0 Operate in backward compatibility mode. This should be used when mixing code compiled by ver- sion 2.1 or later with that compiled by version 2.0 or 2.0a. -byte_kinds Alter the kind numbering system used so that the kind numbers for INTEGER, REAL and LOGICAL match the number of bytes of storage (e.g. default REAL is 4 and DOUBLE PRECISION is 8). Note that COM- PLEX kind numbers are the same as its REAL com- ponents, and thus half of the total byte length in the entity. This option does not affect the interpretation of byte-length specifiers (an extension to Fortran 77). -Bbinding Specify dynamic or static binding (Sun only). This only has effect if specified during the link step. Sun Release 4.1 Last change: 1 F90(L) LOCAL COMMANDS F90(L) -c Compile only (produce .o file), do not attempt to produce an executable file. -C Compile code to check that subscripts are within the declared or assumed array bounds at runtime. This option is equivalent to -C=array. -C=check Compile checking code according to the value of check, which must be one of all (perform all checks), array (check array bounds), do (check DO loops for zero step values), none (do no checking: this is the default) or pointer (check pointer references). -ccarg option Pass option directly to the host C compiler when compiling (producing the .o file). Multiple options may be specified in a single -ccarg option by separating them with (quoted) spaces. -cg[87,89,92] Code generation for floating-point hardware (Solaris 2 on Sun SPARC only). Code produced with the -cg87 option will run on all SPARC systems. That produced with -cg89 or -cg92 will run on SPARC computers released in 1989 or later; but -cg92 code will run very slowly on systems released before 1992. -dryrun Show but do not execute commands constructed by the compiler driver. -dusty Allows the compilation and execution of "legacy" software by downgrading the category of common errors found in such software from "Error" to "Warning" (which may then be suppressed entirely with the -w option). -f77 Make external linkages compatible with the native f77 compiler where possible (only applicable to Unix-f77 derived systems). -fieee Enable IEEE non-stop arithmetic; otherwise the user program will be terminated on floating over- flow, divide by zero or invalid operand. This option is available on most IEEE-conformant sys- tems; for further details see the NAGWare f90 com- piler manual. Note that -fieee must be specified when compiling the main program unit, and its effect is global. -fixed Interpret all Fortran source files according to Sun Release 4.1 Last change: 2 F90(L) LOCAL COMMANDS F90(L) fixed form rules. -fnonstd Disables IEEE gradual underflow (Sun SPARC, HP9000/700, Silicon Graphics with R4000 and DEC Alpha only), producing zero instead of a possibly subnormal number; the resulting program may run faster. Note that on the SPARC and Silicon Graph- ics this must be specified when compiling the main program (however, its effect is global), whereas on the DEC Alpha it only has effect on those rou- tines compiled with this option. Also note that this option is not compatible with -fieee. -free Interpret all Fortran source files according to free form rules. -frnd Round and store floating-point results before com- parison (Apollo Domain only; this is the default on such machines). -g Produce information for interactive debugging by the host system debugger. Disables optimisation. -g90 Compile for debugging by dbx90, the Fortran-90 aware front-end to dbx. This produces a debug information (.g90) file for each Fortran source file. This option may be unavailable on some implementations. -gc Enables automatic garbage collection of the exe- cutable program. -gline Compile code to produce line number information in runtime error messages (note that this affects most, but not all, runtime error messages). This option increases both executable file size and execution time. -hpf Accept the extensions to Fortran 90 as specified by the High Performance Fortran Forum. These con- sist of the FORALL construct, the EXTRINSIC key- word, the PURE keyword and a large number of com- piler directives. The compiler directives are checked for correctness but have no effect on com- pilation. -Ipathname Add pathname to the list of directories which are to be searched for module information (.mod) files and INCLUDE files. The current working directory is always searched first, then any directories named in -I options, then /usr/local/lib/f90. Sun Release 4.1 Last change: 3 F90(L) LOCAL COMMANDS F90(L) -info level Set level of information messages, from 0 to 9. The default is to suppress these messages (level 0). -lx Link with library libx.a. The linker will search for this library in the directories specified by -Ldir options followed by the normal system direc- tories (see the ld(1) command). All -lx options should be placed following any .f90, .f, .c or .o files. They are searched in the order specified. -Ldir Add dir to the list of directories for library routines (linking using ld(1)). -ldarg option Pass option directly to the host C compiler when linking (producing the executable). Note that on SunOS4 and HP/Apollo Domain, the options are actu- ally passed to ld instead of cc. Multiple "ld" options may be specified in a single -ldarg option by separating them with (quoted) spaces. -mdir dir Write any module information (.mod) files to directory dir instead of the current working directory. -mismatch Downgrade consistency checking of procedure argu- ment lists so that mismatches produce warning mes- sages instead of error messages. This only affects calls to a routine which is not in the current file; calls to a routine in the file being compiled must still be correct. -mismatch_all Further downgrade consistency checking of pro- cedure argument lists so that calls to routines in the same file which are incorrect will produce warnings instead of error messages. -nfrnd Do not round and store floating-point results before comparison (Apollo Domain only; this matches the default behaviour of their f77 com- piler, providing a small improvement in execution efficiency at the cost of occasional anomalous results of comparisons). -Nlnnn Increase the limit on the number of continuation lines to nnn. The default, as specified by the Fortran standard, is 19 for fixed source form and 39 for free source form. This will not decrease the limit below the standard number. Sun Release 4.1 Last change: 4 F90(L) LOCAL COMMANDS F90(L) -o output Name the output file output instead of a.out. This may also be used to specify the name of the output file produced under the -c and -S options. -O Optimise. Disables production of debugging infor- mation. -Oblock N Specify the dimension of the blocks used for evaluating the MATMUL intrinsic. The default value (only when -O is used) is 30, i.e. the argu- ments are processed in 30x30 blocks. -pg Compile code to generate profiling information which is written at run-time to an implementation-dependent file (normally gmon.out or mon.out ). An execution profile may then be generated using gprof (on Apollo, Sun and IBM Risc System), or prof (on DECstations and SGI). This option may be unavailable on some implementations. -P Compile code to check that POINTER variables are ASSOCIATED before dereferencing them at runtime. This option is equivalent to -C=pointer. -Qpath pathname Change the f90 compiler library pathname from /usr/local/lib/f90 to pathname . -s Strip symbol table information from the executable file. This option is passed to ld so only has effect during the link step. -S Produce assembler (actually C source code). The resulting .c file should be compiled with the f90 command, not with the C compiler directly. -save This is equivalent to inserting the SAVE statement in all subprograms which are not declared RECUR- SIVE, thus causing all local variables in such subprograms to be statically allocated. -sequential_kinds This confirms the default kind numbering system where all datatypes are numbered sequentially from 1 and increase with precision. This option does not effect the interpretation of byte-length specifiers (an extension to Fortran 77). -temp=directory Set the directory used for temporary files to directory (Sun only). Sun Release 4.1 Last change: 5 F90(L) LOCAL COMMANDS F90(L) -time Report execution times for the various compilation passes. -u Specify that IMPLICIT NONE is in effect by default, unless overridden by explicit IMPLICIT statements. -v Verbose. Print the name of each pass as the com- piler executes. -V Print the name and version number of each pass as the compiler executes. -w Suppress warning messages. -x77 Suppress extension warnings for common extensions to Fortran 77. These are TAB format, byte-length specifiers and Hollerith constants. Note that this option (or the -dusty option) is required for Hollerith i/o (viz, reading/writing of non- CHARACTER items with an A edit descriptor). -x90 Suppress extension warnings for extensions to For- tran 90 (currently just the HPF extensions). FILES a.out Executable output file file.a Library of object files file.c C source file file.f Fixed-form Fortran 90 or FORTRAN 77 source file file.f90 Free-form Fortran 90 source file module-name.mod Compiled module information file file.o Object file /tmp/f90_*.c Temporary C output files created by f90 /usr/local/lib/f90 f90 compiler library directory (may be changed by -Qpath); referred to as library hereafter. library/*.mod Compiled library module files (supplied by NAG) library/dope.h Dope vector header file Sun Release 4.1 Last change: 6 F90(L) LOCAL COMMANDS F90(L) library/f90.h Runtime library header file library/f90com Fortran 90 compiler library/f90_iostat.f90 Source code of F90_IOSTAT module library/f90_kind.f90 Source code of F90_KIND module library/f90_util.f90 A sample Fortran 90 program that displays implementation-specific infor- mation library/gc.o Garbage collector library/libf90.a Runtime library library/libuf90.a Runtime library used by -bc=2.0 option library/unprotect.h Header file for -bc=2.0 option library/bytes/*.mod Library module files compiled with the -byte_kinds option library/bc20/*.mod Library module files compiled with the -bc=2.0 option Note: On machines with the length of filenames restricted to less than 36 characters module information for some modules will be stored in files with different names. See the Users' Note for the specific information. DIAGNOSTICS The diagnostics produced by f90 itself are intended to be self-explanatory. The loader, or more rarely the host C compiler, may produce occasional diagnostics. Messages produced by the compiler are classified by severity level; these levels are: Debugging compiler debugging message; these are not produced during normal operation. Info informational message, noting an aspect of the source code in which the user may be interested. Warning some questionable usage has been found in the user's code which may indicate a programming error. Sun Release 4.1 Last change: 7 F90(L) LOCAL COMMANDS F90(L) Extension some non-standard-conforming code has been detected but has successfully been compiled as an extension to the language. This has the same severity as "warning". Obsolescent some archaic code has been detected which although standard-conforming was classified as obsolescent. This has the same severity as "warning". Error the source code does not conform to the Fortran standard or does not make sense. Compilation con- tinues after recovery. Fatal a serious error in the user's program from which the compiler cannot recover, the compilation is aborted immediately. Panic an internal inconsistency is found by one of the compiler's self-checks; this is a bug in the com- piler itself and NAG should be notified. SEE ALSO ar(1) cc(1V), f77(1V), ld(1) BUGS Please report any bugs found to "infodesk@nag.co.uk", along with any suggestions for improvements. AUTHOR Malcolm Cohen, Numerical Algorithms Group Ltd., Oxford, U.K. Sun Release 4.1 Last change: 8