Fortran 95 compiler released on x86 Solaris platforms:
This release of Sun Studio makes the Fortran 95 compiler available on Solaris OS x86 platforms. Compile with -xtarget values generic, native, 386, 486, pentium, pentium_pro, pentium3, or pentium4, to generate executables on Solaris x86 platforms. The default on x86 platforms is -xtarget=generic.
The following f95 features are not yet implemented on x86 platforms and are only available on SPARC platforms:
Interval Arithmetic (compiler options -xia and -xinterval)
Quad (128-bit) Arithmetic (for example, REAL*16)
IEEE Intrinsic modules IEEE_EXCEPTIONS, IEEE_ARITHMETIC, and IEEE_FEATURES
The sun_io_handler module
Parallelization options such as -autopar, -parallel, -explitipar, and -openmp.
The following f95 command-line options are only available on x86 platforms and not on SPARC platforms: -fprecision, -fstore, -nofstore
The following f95 command-line options are only available on SPARC platforms and not on x86 platforms: -xcode, -xmemalign, -xprefetch, -xcheck, -xia, -xinterval, -xipo, -xjobs, -xlang, -xlinkopt, -xloopinfo, -xpagesize, -xprofile_ircache, -xreduction, -xvector, -depend, -openmp, -parallel, -autopar, -explicitpar, -vpara, -XlistMP. Also, on x86 platforms -fast adds -nofstore.
Improved Runtime Performance:
Runtime performance for most applications should improve significantly with this release. For best results, compile with high optimization levels -xO4 or -xO5. At these levels the compiler may now inline contained procedures, and those with assumed-shape, allocatable, or pointer arguments.
Fortran 2003 Command-Line Intrinsics:
The Fortran 2003 draft standard introduces three new intrinsics for processing command-line arguments and environment variables. These have been implemented in this release of the f95 compiler. The new intrinsics are:
GET_COMMAND(command, length, status)
Returns in command the entire command line that invoked the program.
GET_COMMAND_ARGUMENT(number, value, length, status)
Returns a command-line argument in value.
GET_ENVIRONMENT_VARIABLE(name, value, length, status, trim_name)
Return the value of an environment variable.
New and Changed Command-Line Options:
The following f95 command-line options are new in this release. See the Chapter 3 for details.
-xipo_archive={ none | readonly | writeback }
Allow crossfile optimization to include archive (.a) libraries. (SPARC only)
-xprefetch_auto_type=[no%]indirect_array_access
Generate indirect prefetches for a data arrays accessed indirectly. (SPARC only)
-xprofile_pathmap=collect_prefix:use_prefix
Set path mapping for profile data files. Use the -xprofile_pathmap option with the -xprofile=use option when profiling into a directory that is not the directory used when previously compiling with -xprofile=collect.
The following command-line option defaults have changed with this release of f95.
The default for -xprefetch is -xprefetch=no%auto,explicit.
The default for -xmemalign is -xmemalign=8i; when compiling with one of the -xarch=v9 options the default is -xmemalign=8f.
The default for -xcode when compiling with one of the -xarch=v9 options is abs44.
To compile with the defaults used in previous compiler releases, specify the following options explicitly:
-xarch=v8 -xmemalign=4s -xprefetch=no for 32-bit compilation -xcode=abs64 -xprefetch=no for 64-bit compilation
Default SPARC Architecture is V8PLUS:
The default SPARC architecture is no longer V7. Support for -xarch=v7 is limited in this Sun Studio 9 release. The new default is V8PLUS (UltraSPARC). Compiling with -xarch=v7 is treated as -xarch=v8 because the Solaris 8 OS only supports -xarch=v8 or better.
To deploy on SPARC V8 systems (for example, SPARCStation 10), compile with -xarch=v8 explicitly. The provided system libraries run on SPARC V8 architectures.
To deploy on SPARC V7 systems (for example, SPARCStation 1), compile with -xarch=v7 explicitly. The provided system libraries use the SPARC V8 instruction set. For the Sun Studio 9 release, only the Solaris 8 OS supports the SPARC V7 architecture. When a SPARC V8 instruction is encountered, the OS interprets the instruction in software. The program will run, but performance will be degraded.
OpenMP: Maximum Number of Threads Increased:
The maximum number of threads for OMP_NUM_THREADS and the multitasking library has increased from 128 to 256.
OpenMP: Automatic Scoping of Variables:
This release of the Fortran 95 compiler’s implementation of the OpenMP API for shared-memory parallel programming features automatic scoping of variables in parallel regions. See the OpenMP API User’s Guide for details. (OpenMP is only implemented on SPARC platforms for this release.)