f77 4.0 includes the following features that are new or changed since 3.0/3.0.1:
The DOSERIAL and DOSERIAL* parallel directives have been added, and the DOALL directive expanded.
A directive for unrolling loops has been added.
The -Idir option now also affects the f77 INCLUDE statement, not only the preprocessor #include directive.
The Incremental Linker is available. It provides faster linking and speeds up development.
The -oldstruct command-line option has been deleted.
The following new synonyms have been added: -xautopar, -xdepend, -xexplicitpar, -xloopinfo, -xparallel, -xreduction, and -xvpara.
The -stackvar restrictions EQUIVALANCE, NAMELIST, STRUCTURE, and RECORD have been removed.
New options have been added (and some changed):
-arg=local |
Pass by value result. |
-copyargs |
Allow assignment to constant arguments. |
-dbl |
Double the default size for integers, reals, and so forth. |
-ext_names=e |
Make external names with or without underscores. |
-fns |
Turn on SPARC non-standard floating-point mode (SPARC). |
-fround=r |
Set the IEEE rounding mode in effect at startup (SPARC). |
-fsimple[=n] |
Allow levels of simple floating-point model. |
-ftrap=t |
Set the IEEE trapping mode in effect at startup (SPARC). |
-mp=x |
Use either Sun-style or Cray-style MP directives (SPARC). |
-O5 |
Attempt the highest level of optimization. |
-pad=p |
Pad local variables or common blocks |
-vax=v |
Specify a choice of VMS features to use. |
-xarch=a |
Limit the set of instructions the compiler may use (SPARC). |
-xcache=c |
Define the cache properties for use by the optimizer (SPARC). |
-xchip=c |
Specify the target processor for use by the optimizer (SPARC). |
-xhelp=h |
Show help information for README file or for options (flags). |
-xildoff |
Turn off the Incremental Linker (SPARC). |
-xildon |
Turn on the Incremental Linker (SPARC). |
-xprofile=p |
Collect data for a profile or use a profile to optimize (SPARC). |
-xregs=r |
Specify the usage of registers for the generated code (SPARC). |
-xsafe=mem |
Allow compiler to assume no memory-based traps (SPARC). |
-xspace |
Do no optimizations that increase the code size (SPARC). |
-xtarget=t |
Specify target system for instruction set (SPARC). |
-ztext |
Do not make the library if relocations remain. |
DO-loop code is now implemented differently to allow better optimization and loop parallelization. Legal DO-loops behave exactly the same as before; however, illegal DO-loops--zero-step, loop variable modified within the loop--may display different behavior.
Full 64-bit integers have been added. With -dbl, integers not declared with a specified size are turned into full 64-bit integers.
The following libV77 library routines: date, mvbits, ran, and secnds, are now folded into the libF77 library. That is, you no longer need to compile with the -lV77 option to get these routines.
The OPEN statement now contains a new keyword specifier, ACTION=act, where act is READ, WRITE, or READWRITE.