2. Using Solaris Studio Fortran
4. Solaris Studio Fortran Features and Differences
4.1.1 Continuation Line Limits
4.2.1.1 Rules Governing Boolean Type
4.2.1.2 Alternate Forms of Boolean Constants
4.2.1.3 Alternate Contexts of Boolean Constants
4.2.2 Abbreviated Size Notation for Numeric Data Types
4.2.3 Size and Alignment of Data Types
4.3.2 Purpose of Cray Pointers
4.3.3 Declaring Cray Pointers and Fortran 95 Pointers
4.3.4 Features of Cray Pointers
4.3.5 Restrictions on Cray Pointers
4.3.6 Restrictions on Cray Pointees
4.6.1 Interoperability with C Functions
4.6.2 IEEE Floating-Point Exception Handling
4.6.3 Command-Line Argument Intrinsics
4.6.5 Fortran 2003 Asynchronous I/O
4.6.6 Extended ALLOCATABLE Attribute
4.6.9 Fortran 2003 Formatted I/O Features
4.6.10 Fortran 2003 IMPORT Statement
4.6.11 Fortran 2003 FLUSH I/O Statement
4.6.12 Fortran 2003 POINTER INTENT Feature
4.6.13 Fortran 2003 Enhanced Array Constructor
4.6.14 Miscellaneous Fortran 2003 and Fortran 2008 Features
4.7.1 I/O Error Handling Routines
4.7.2 Variable Format Expressions
4.7.5 Miscellaneous I/O Extensions
4.8.1 Form of Special f95 Directive Lines
4.8.2 FIXED and FREE Directives
4.8.3 Parallelization Directives
4.9.2 The -use=list Option Flag
5. FORTRAN 77 Compatibility: Migrating to Solaris Studio Fortran
To aid the migration of programs from legacy FORTRAN 77, f95 accepts VAX Fortran STRUCTURE and UNION statements, a precursor to the “derived types” in Fortran 95. For syntax details see the FORTRAN 77 Language Reference manual.
The field declarations within a STRUCTURE can be one of the following:
A substructure— either another STRUCTURE declaration, or a record that has been previously defined.
A UNION declaration.
A TYPE declaration, which can include initial values.
A derived type having the SEQUENCE attribute. (This is particular to f95 only.)
As with the legacy f77 compiler, a POINTER statement cannot be used as a field declaration.
f95 also allows:
Either ”.” or ”%”T can be used as a structure field dereference symbol:struct.field or struct%field.
Structures can appear in a formatted I/O statement.
Structures can be initialized in a PARAMETER statement; the format is the same as a derived type initialization.
Structures can appear as components in a derived type, but the derived type must be declared with the SEQUENCE attribute.