This section lists the new features and behavior changes specific to f77 in this and previous releases.
f77 5.0 includes the following new and changed features:
New options:
-fpover detects floating-point overflows in I/O processing.
-xcode=code specifies the memory address model on SPARC platforms.
-xcommonchk enables runtime checking for inconsistent COMMON block declarations.
-xmaxopt enables the OPT=n pragma and controls the maximum optimization level allowed by OPT pragmas in the source code.
-xprefetch allows the compiler to generate prefetch instructions on UltraSPARC II platforms.
-xvector allows the compiler to replace certain math library calls within DO loops with single calls to a vectorized math routine.
Changed options:
-xcrossfile[=n] - optional level number added.
-fns[={yes|no}] - optional yes/no added.
-Ztha - option now ignored.
New Features:
Compile for the 64-bit Solaris 7 environment on 64-bit SPARC platforms with -xarch=v9 or v9a.
Support in the I/O library for large files (larger than 2 Gigabytes).
Support for large arrays on 64-bit Solaris 7 environments.
Dynamic arrays (local arrays with dynamic size) implemented (see FORTRAN 77 Language Reference Manual).
The REDUCTION directive accepts arrays in the list of variables.
SPARC: A TASKCOMMON directive declares variables in COMMON to be private.
Fortran 90 style constants that allows specification of byte size (for example, 12345678_8 for a 64-bit, 8-byte, constant).
New optimization pragma allows setting the compilers optimization level on a routine by routine basis.
Year 2000 safe date_and_time() library routine.
f77 4.2 includes the following features that are new or changed since the 4.0 release:
New options:
-dbl_align_all
-errtags=yes|no and -erroff=taglist
-stop_status=no|yes
-xcrossfile
-xlic_lib=libs
-xpp=fpp|cpp
-xtypemap=type:spec,.
Changed options:
Options -fround, -fsimple, -ftrap, -xprofile=tcov, -xspace, -xunroll now available on Intel platforms.
-xtarget, -xarch, -xchip expanded for SPARC Ultra and Intel platforms.
-vax= expanded to enable selection/deselection of individual VAX/VMS Fortran features.
Default sourcefile preprocessor is fpp(1) rather than cpp(1).
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.