Index

!DIR$
CF90 Directives
Directive Continuation

!MIC$
CF90 Directives

!$OMP
Using Directives

!$OMP PARALLEL DO
sproc compatibility
Compatibility with sproc(2)

# (null) directive
# (Null) Directive

#define
f90 command line options

#define directive
#define Directive

#elif directive
Conditional Directives
#elif Directive

#else directive
Conditional Directives
#else Directive

#endif directive
Conditional Directives
#endif Directive

#if directive
#if Directive

#ifdef directive
#ifdef Directive

#ifndef directive
#ifndef Directive

#include directive
#include Directive

#undef directive
#undef Directive

%VAL intrinsic function
Using %VAL

-32 option
f90 command line options

-64 option
f90 command line options

ABI
f90 command line options
N32
The Auto-Parallelizing Option (APO)
N64
The Auto-Parallelizing Option (APO)

AGGRESSIVEINNERLOOPFISSION directive
LNO Directives

-alignn option
f90 command line options

ALIGN_SYMBOL directive
Control Symbol Alignment and Padding

-ansi option
f90 command line options

APO
The Auto-Parallelizing Option (APO)
array subscripts
Loops Containing Problematic Array Constructs
command line use
f90(1) Command Line Options That Affect APO
data locality problems
Parallelizing Loops with Poor Data Locality
function calls in loops
Loops Containing Function Calls
GO TO statements
Loops Containing GO TO Statements
local variables
Loops Containing Local Variables
output files
The file.list File
About the .m and .anl Files

-apo option
f90 command line options

Application Binary Interface (ABI)
See ABI

ar(1)
The Compiler Programming Environment

Archive library
definition
The Compiler Programming Environment

Array slices
Unsupported Array Arguments

Arrays
assumed-shape
Unsupported Array Arguments
deferred-shape
Unsupported Array Arguments
Fortran arrays in C code
Using Fortran Arrays in C Code
slices
Unsupported Array Arguments
unsupported array arguments
Unsupported Array Arguments

Assembly language
calling from Fortran
Calling Assembly Language from Fortran

assign(1)
Libraries

Assumed-shape arrays
Unsupported Array Arguments

ATOMIC directive
Synchronization Constructs

-auto_use option
f90 command line options

automatic parallelization
The Auto-Parallelizing Option (APO)

Auto-Parallelizing Option
The Auto-Parallelizing Option (APO)

BARRIER directive
Synchronization Constructs

-bigp_off option
f90 command line options

-bigp_on option
f90 command line options

BLOCKABLE directive
LNO Directives

BLOCKINGSIZE directive
LNO Directives

BOUNDS directive
Directive Range and Placement
Checking Array Bounds

-c option
f90 command line options
f90 command line options

C/C++
Interlanguage Calling
calling C from Fortran
Calling C from Fortran
calling Fortran
Calling Fortran from C
calling Fortran functions
Calling a Fortran Function from C
calling Fortran subroutines
Calling a Fortran Subroutine from C
external functions
Calling Fortran from C
Fortran and C correspondence
Correspondence of Fortran and C Data Types
Fortran arrays in C code
Using Fortran Arrays in C Code
Fortran blocks in C code
Using Fortran Common Blocks in C Code
normal calls to C functions
Calls to C Functions
using %VAL
Calls to C Using LOC and %VAL
using LOC
Calls to C Using LOC and %VAL

CDIR$
CF90 Directives
Directive Continuation

Character types
Fortran and C correspondence
Corresponding Character Types

-check_bounds option
f90 command line options
f90 command line options

-chunk=integer option
f90 command line options

CIF
The Compiler Programming Environment

cifconv(1)
The Compiler Programming Environment

Clauses
COPYIN
Data Scope Attribute Clauses
COPYPRIVATE
Data Scope Attribute Clauses
DEFAULT
Data Scope Attribute Clauses
FIRSTPRIVATE
Data Scope Attribute Clauses
LASTPRIVATE
Data Scope Attribute Clauses
PRIVATE
Data Scope Attribute Clauses
REDUCTION
Data Scope Attribute Clauses
SHARED
Data Scope Attribute Clauses

CMIC$
CF90 Directives

Code scheduler
specifying
f90 command line options

-coln option
f90 command line options

Common blocks
Fortran in C code
Using Fortran Common Blocks in C Code

C$OMP
Using Directives

Compiler
invoking
The f90(1) Command

Compiler features
General Directives

Compiler information file (CIF)
See CIF

COMPILER_DEFAULTS_PATH
f90 command line options

Conditional compilation
directives
See Directives
overview
Source Preprocessing

Conditional directives
See Directives

Continuation character
Directive Continuation and Other Considerations

COPYIN clause
Data Scope Attribute Clauses

COPYPRIVATE clause
Data Scope Attribute Clauses

cord(1)
f90 command line options

-cord option
f90 command line options

Correspondence
between Fortran and C data types
Correspondence of Fortran and C Data Types

cpp
f90 command line options

-cpp option
f90 command line options

CPU targeting
f90 command line options
See Also Cross compiling

CRITICAL/END CRITICAL directive
Synchronization Constructs

Cross compiling
definition
f90 command line options

-dn option
f90 command line options

-D option
f90 command line options

Data types
Fortran and C correspondence
Correspondence of Fortran and C Data Types

Debugging
generating information
f90 command line options

DEFAULT clause
Data Scope Attribute Clauses

-default64 option
f90 command line options

Deferred-shape arrays
Unsupported Array Arguments

Directive
definition
General Directives

Directives
# (null)
# (Null) Directive
#define
f90 command line options
#define Directive
#elif
Conditional Directives
#elif Directive
#else
Conditional Directives
#else Directive
#endif
Conditional Directives
#endif Directive
#if
#if Directive
#ifdef
#ifdef Directive
#ifndef
#ifndef Directive
#include
#include Directive
#undef
#undef Directive
AGGRESSIVEINNERLOOPFISSION
LNO Directives
ALIGN_SYMBOL
Control Symbol Alignment and Padding
example
Control Symbol Alignment and Padding
and command line options
Directives and Command Line Options
ATOMIC
Synchronization Constructs
BARRIER
Synchronization Constructs
BLOCKABLE
LNO Directives
BLOCKINGSIZE
LNO Directives
conditional
Conditional Directives
continuation
Directive Continuation and Other Considerations
continuing
Directive Continuation
CRITICAL/END CRITICAL
Synchronization Constructs
DO/END DO
Work-sharing Constructs
DSM
f90 command line options
END PARALLEL
Parallel Region Constructs
FILL_SYMBOL
Control Symbol Alignment and Padding
FISSION
LNO Directives
FISSIONABLE
LNO Directives
fixed source form
Using Directives
FLUSH
Declare a Synchronization Point
Synchronization Constructs
free source form
Using Directives
FUSE
LNO Directives
FUSEABLE
LNO Directives
INLINE
Inlining and IPA Directives
Inlining and interprocedural analysis (IPA)
Inlining and IPA Directives
interaction with -x dirname option
Interaction of Directives with the -x Command Line Option
INTERCHANGE
LNO Directives
IPA
Inlining and IPA Directives
LNO
LNO Directives
MASTER/END MASTER
Synchronization Constructs
NOBLOCKING
LNO Directives
NOFISSION
LNO Directives
NOFUSION
LNO Directives
NOINLINE directive
Inlining and IPA Directives
NOINTERCHANGE
LNO Directives
NOIPA
Inlining and IPA Directives
OpenMP Fortran API
OpenMP Fortran API Multiprocessing Directives
ORDERED/END ORDERED
Synchronization Constructs
overview
CF90 Directives
PARALLEL
Parallel Region Constructs
PARALLEL DO/END PARALLEL DO
Combined Parallel Work-sharing Constructs
PARALLEL SECTIONS/END PARALLEL SECTIONS
Combined Parallel Work-sharing Constructs
PARALLEL WORKSHARE
Combined Parallel Work-sharing Constructs
PREFETCH
LNO Directives
PREFETCH_MANUAL
LNO Directives
PREFETCH_REF
LNO Directives
PREFETCH_REF_DISABLE
LNO Directives
range
Directive Range
range and placement
Directive Range and Placement
SECTION_GP
Specify Global Pointer Use
SECTION_NON_GP
Specify Global Pointer Use
SECTIONS/END SECTIONS
Work-sharing Constructs
SINGLE/END SINGLE
Work-sharing Constructs
source preprocessor
Directive Continuation and Other Considerations
symbol storage
Symbol Storage Directives
syntax
Using Directives
THREADPRIVATE
Data Environment Constructs
UNROLL
LNO Directives
using
Using Directives
WORKSHARE
Work-sharing Constructs

DO/END DO directive
Work-sharing Constructs

Dynamic shared libraries
f90 command line options

-E option
f90 command line options

END PARALLEL directive
Parallel Region Constructs

Environment variables
The Compiler Programming Environment
affecting compilation
The F90 Command Line
COMPILER_DEFAULTS_PATH
f90 command line options

Error detection
The Compiler Programming Environment

-extend_source option
f90 command line options

External name
External and Public Names

F90
invoking
The F90 Command Line

f90 command
example
The f90(1) Command
MIPSpro Automatic Parallelization Option
The F90 Command Line
options
-32
f90 command line options
-64
f90 command line options
-alignn
f90 command line options
-ansi
f90 command line options
-apo
f90 command line options
-auto_use option
f90 command line options
-bigp_off option
f90 command line options
-bigp_on option
f90 command line options
-c
f90 command line options
f90 command line options
-check_bounds
f90 command line options
-chunk=integer
f90 command line options
-coln
f90 command line options
-cord
f90 command line options
-cpp
f90 command line options
-D
f90 command line options
-dn
f90 command line options
-default64
f90 command line options
-E
f90 command line options
-extend_source
f90 command line options
-fb
f90 command line options
-fb_create
f90 command line options
-fb_opt
f90 command line options
-fixedform
f90 command line options
-flist
f90 command line options
f90 command line options
-freeform
f90 command line options
-ftpp
f90 command line options
-fullwarn
f90 command line options
-G
f90 command line options
-gdebug_lvl
f90 command line options
-help
f90 command line options
-Idir
f90 command line options
-in
f90 command line options
-ignore_suffix
f90 command line options
-INLINE
Inlining and IPA Directives
-INLINE:...
f90 command line options
-IPA
Inlining and IPA Directives
-IPA:...
f90 command line options
-keep
f90 command line options
-KPIC
f90 command line options
-Ldirectory
f90 command line options
-llibrary
f90 command line options
-LANG
f90 command line options
-LIST:...
f90 command line options
-listing
f90 command line options
-LNO:...
f90 command line options
-lscs
f90 command line options
-lscs_mp
f90 command line options
-macro_expand
f90 command line options
-MDupdate
f90 command line options
-mipsn
f90 command line options
-mp
f90 command line options
-MP:
f90 command line options
-nocpp
f90 command line options
-noextend_source
f90 command line options
-nostdinc
f90 command line options
-o
f90 command line options
-Olevel
f90 command line options
-OPT:...
f90 command line options
-P
f90 command line options
-rprocessor
f90 command line options
-rreal_spec
f90 command line options
-S
f90 command line options
-show
f90 command line options
-show_defaults
f90 command line options
-static
f90 command line options
-TARG:...
f90 command line options
-TENV:...
f90 command line options
-Uvar
f90 command line options
-use_command
f90 command line options
-use_suffix
f90 command line options
-version
f90 command line options
-warg
f90 command line options
-Wl
f90 command line options
-woffnum
f90 command line options
-x
f90 command line options
-x lang
f90 command line options
syntax
The F90 Command Line
using multiple options
The F90 Command Line

--fb option
f90 command line options

--fb_create option
f90 command line options

--fb_opt option
f90 command line options

FFIO
routines
See Library routines

file.suffix90
f90 command line options

file.suffix 90 option
f90 command line options

FILL_SYMBOL directive
Control Symbol Alignment and Padding

FIRSTPRIVATE clause
Data Scope Attribute Clauses

FISSION directive
LNO Directives

FISSIONABLE directive
LNO Directives

FIXED directive
Directive Range and Placement
Specifying Source Form

Fixed source form
Using Directives

-fixedform option
f90 command line options

Flexible File I/O (FFIO)
See FFIO

-flist option
f90 command line options
f90 command line options

FLUSH directive
Declare a Synchronization Point
Synchronization Constructs

Fortran
and C data types
Correspondence of Fortran and C Data Types
arrays in C code
Using Fortran Arrays in C Code
calling assembly language
Calling Assembly Language from Fortran
calling C
Calling C from Fortran
calling from C
Calling Fortran from C
calling function from C
Calling a Fortran Function from C
calling subroutines from C
Calling a Fortran Subroutine from C
common blocks in C code
Using Fortran Common Blocks in C Code
functions
Calling Fortran from C
naming C functions
Calling a C Function from Fortran
naming subprogram from C
Calling a Fortran Subprogram from C
normal calls to C functions
Calls to C Functions
passing subprogram arguments
How Fortran Passes Arguments
subroutines
Calling Fortran from C
using %VAL
Calls to C Using LOC and %VAL
using LOC
Calls to C Using LOC and %VAL

FORTRAN 77 compiler
$ character difference
Fortran Treatment of External and Public Names
-U option
Fortran Treatment of External and Public Names

FREE directive
Directive Range and Placement
Specifying Source Form

Free source form
Using Directives

-freeform option
f90 command line options

ftnchop(1)
The Compiler Programming Environment

ftnlint(1)
The Compiler Programming Environment

ftnlist(1)
The Compiler Programming Environment

ftnmgen(1)
The Compiler Programming Environment

ftnsplit(1)
The Compiler Programming Environment

ftpp
f90 command line options

-ftpp option
f90 command line options

-fullwarn option
f90 command line options

Functions
calling Fortran from C
Calling a Fortran Function from C
normal calls to C functions
Calls to C Functions

FUSE directive
LNO Directives

FUSEABLE directive
LNO Directives

-gdebug_lvl option
f90 command line options

-G option
f90 command line options

-help option
f90 command line options

-in option
f90 command line options

ID directive
Directive Range and Placement
Creating Identification String

-ignore_suffix option
f90 command line options

INLINE directive
Inlining and IPA Directives

-INLINE option
Inlining and IPA Directives

-INLINE:... option
f90 command line options

Inlining
definition
Inlining and IPA Directives
intrafile subprogram inlining
f90 command line options
standalone inliner
f90 command line options

Inlining and interprocedural analysis (IPA) directives
See Directives

INTERCHANGE directive
LNO Directives

Interface routines
See Library routines

Interlanguage calling
Interlanguage Calling

Interprocedural analysis (IPA)
definition
Inlining and IPA Directives
ipa(5)
Inlining and IPA Directives

Interprocedural analyzer (IPA)
See IPA

Intrinsic procedures
The Compiler Programming Environment
The Compiler Programming Environment
Libraries

I/O routines
See Library routines

IPA
f90 command line options
f90 command line options
Inlining and IPA Directives
directives
Inlining and IPA Directives

-IPA:... option
f90 command line options

IPA directive
Inlining and IPA Directives

-IPA option
Inlining and IPA Directives

ISA
specifying
f90 command line options

IVDEP directive
Directive Range and Placement

-keep option
f90 command line options

Kind specification
real values
f90 command line options
values
f90 command line options

-KPIC option
f90 command line options

-Ldirectory option
f90 command line options

-llibrary option
f90 command line options

-LANG option
f90 command line options

Language interface
C/C++
Interlanguage Calling

LASTPRIVATE clause
Data Scope Attribute Clauses

ld(1)
External and Public Names

Libraries
The Compiler Programming Environment
changing search algorithm
f90 command line options
searching lib.library.a
f90 command line options

Library options
Libraries

Library routines
Libraries
Library Functions
FFIO
Miscellaneous Library Routines
Interface
Miscellaneous Library Routines
I/O
Miscellaneous Library Routines
programming aids
Miscellaneous Library Routines

Lines
restricting Fortran source code lines
f90 command line options
specifying length
f90 command line options
specifying width
f90 command line options

lint
See ftnlint(1)

-LIST:... option
arguments
f90 command line options

Lister
ftnlist(1)
The Compiler Programming Environment
using f90 command
The Compiler Programming Environment

Listing file
writing to
f90 command line options
writing to assembly listing file
f90 command line options

-listing option
f90 command line options

Listing, obtaining
f90 command line options
f90 command line options

LNO
directives
See Directives
-LNO option
f90 command line options

Loader
ld(1)
The Compiler Programming Environment

LOC intrinsic function
Using LOC

Loop nest optimization
LNO Directives

Loop nest optimizer (LNO)
See LNO

Loop unrolling
UNROLL directive
LNO Directives

Macro expansion
f90 command line options

-macro_expand option
f90 command line options

Macros
based on host system
Predefined Macros
based on IRIX system
Predefined Macros
predefined
Predefined Macros
Predefined Macros
__mips
Predefined Macros
__sgi
Predefined Macros
__unix
Predefined Macros
_ABI
Predefined Macros
_COMPILER_VERSION
Predefined Macros
_LANGUAGE_FORTRAN
Predefined Macros
_LANGUAGE_FORTRAN90
Predefined Macros
_MIPS_ISA
Predefined Macros
_MIPS_SIM
Predefined Macros
_MIPSEB
Predefined Macros
_OPENMP
Predefined Macros
_SYSTYPE_SVR4
Predefined Macros
host_mips
Predefined Macros
LANGUAGE_FORTRAN
Predefined Macros
LANGUAGE_FORTRAN90
Predefined Macros
MIPSEB
Predefined Macros

man(1)
The Compiler Programming Environment

manual parallelization
The Auto-Parallelizing Option (APO)

MASTER/END MASTER directive
Synchronization Constructs

-MDupdate option
f90 command line options

Message system
The Compiler Programming Environment

Messages
generation of
f90 command line options
specifying
f90 command line options
f90 command line options

-mipsn option
f90 command line options

MIPSpro assembly language
calling from Fortran
Calling Assembly Language from Fortran

MIPSpro Automatic Parallelization Option
The F90 Command Line

Modules utility
The Compiler Programming Environment

-mp option
f90 command line options

-MP: option
arguments
f90 command line options

Multiprocessing
specifying options
f90 command line options

multiprocessing routines
Miscellaneous Library Routines

N64 abi
The Auto-Parallelizing Option (APO)

NAME directive
Directive Range and Placement
Mapping External Names

nm(1)
External and Public Names

NOBLOCKING directive
LNO Directives

NOBOUNDS directive
Directive Range and Placement
Checking Array Bounds

-nocpp option
f90 command line options

-noextend_source option
f90 command line options

NOFISSION directive
LNO Directives

NOFUSION directive
LNO Directives

NOINLINE directive
Inlining and IPA Directives

NOINTERCHANGE directive
LNO Directives
Inhibiting Loop Interchange

NOIPA directive
Inlining and IPA Directives

NOSIDEEFFECTS directive
Directive Range and Placement
Determining Register Storage

-nostdinc option
f90 command line options

NOTASK directive
Tasking Directives

NOUNROLL directive
Unrolling Loops

-Olevel option
f90 command line options

-o option
f90 command line options

Object file tools
definition
The Compiler Programming Environment

OMP_DYNAMIC
Running Your Program

OMP_NUM_THREADS
Running Your Program

Online documentation utilities
The Compiler Programming Environment

OpenMP clauses
COPYIN
Data Scope Attribute Clauses
COPYPRIVATE
Data Scope Attribute Clauses
DEFAULT
Data Scope Attribute Clauses
FIRSTPRIVATE
Data Scope Attribute Clauses
LASTPRIVATE
Data Scope Attribute Clauses
PRIVATE
Data Scope Attribute Clauses
REDUCTION
Data Scope Attribute Clauses
SHARED
Data Scope Attribute Clauses

OpenMP directives
ATOMIC
Synchronization Constructs
BARRIER
Synchronization Constructs
CRITICAL/END CRITICAL
Synchronization Constructs
DO/END DO
Work-sharing Constructs
END PARALLEL
Parallel Region Constructs
FLUSH
Synchronization Constructs
MASTER/END MASTER
Synchronization Constructs
ORDERED/END ORDERED
Synchronization Constructs
PARALLEL
Parallel Region Constructs
PARALLEL DO/END PARALLEL DO
Combined Parallel Work-sharing Constructs
PARALLEL SECTIONS/END PARALLEL SECTIONS
Combined Parallel Work-sharing Constructs
PARALLEL WORKSHARE
Combined Parallel Work-sharing Constructs
SECTIONS/END SECTIONS
Work-sharing Constructs
SINGLE/END SINGLE
Work-sharing Constructs
THREADPRIVATE
Data Environment Constructs
WORKSHARE
Work-sharing Constructs

OpenMP Fortran API directives
OpenMP Fortran API Multiprocessing Directives

-OPT:... option
f90 command line options

Optimization
controlling
f90 command line options
specifying level
f90 command line options

-- option
f90 command line options

Options
help
f90 command line options

ORDERED/END ORDERED directive
Synchronization Constructs

-P option
f90 command line options

PARALLEL directive
Parallel Region Constructs

PARALLEL DO/END PARALLEL DO directive
Combined Parallel Work-sharing Constructs

Parallel processing
analyzing source code
f90 command line options

PARALLEL SECTIONS/END PARALLEL SECTIONS directive
Combined Parallel Work-sharing Constructs

PARALLEL WORKSHARE directive
Combined Parallel Work-sharing Constructs

Parallelism
implementation
Compatibility with sproc(2)
sproc(2)
Compatibility with sproc(2)

parallelization
automatic
The Auto-Parallelizing Option (APO)
manual
The Auto-Parallelizing Option (APO)

Passing arguments
How Fortran Passes Arguments

pe_environ(5)
The F90 Command Line

Position-independent code (PIC)
See PIC

POSIX library routines
Libraries

Predefined macros
for conditional compilation
Predefined Macros

PREFERTASK directive
Designating a Nest to Task

PREFETCH directive
LNO Directives

PREFETCH_MANUAL directive
LNO Directives

PREFETCH_REF directive
LNO Directives

PREFETCH_REF_DISABLE directive
LNO Directives

Preprocessing
Source Preprocessing
source
f90 command line options

Preprocessor
using f90 command
The Compiler Programming Environment

PRIVATE clause
Data Scope Attribute Clauses
Data Scope Attribute Clauses

Procedure rearranging
f90 command line options

Programming aids
See Library routines

Public name
External and Public Names

-rprocessor option
f90 command line options

-rreal_spec option
f90 command line options

REDUCTION clause
Data Scope Attribute Clauses

-S option
f90 command line options

Scalar types
Fortran and C correspondence
Corresponding Scalar Types

Scheduling
f90 command line options

SECTION_GP directive
Specify Global Pointer Use

SECTION_NON_GP directive
Specify Global Pointer Use

SECTIONS/END SECTIONS directive
Work-sharing Constructs

-show option
f90 command line options

-show_defaults option
f90 command line options

SINGLE/END SINGLE directive
Work-sharing Constructs

Source preprocessing
f90 command line options
Source Preprocessing

Source preprocessor
f90 command line options
f90 command line options
f90 command line options
cpp
f90 command line options
disabling
f90 command line options
ftpp
f90 command line options

sproc(2)
compatibility with !$OMP PARALLEL DO
Compatibility with sproc(2)

Static analyzer
ftnlint(1) utility
The Compiler Programming Environment

-static option
f90 command line options

-static_threadprivate
f90 command line options

Subroutines
calling Fortran from C
Calling a Fortran Subroutine from C

Symbol storage directives
Symbol Storage Directives

-TARG:... option
arguments
f90 command line options

Target environment
specifying
f90 command line options

TASK directive
Tasking Directives

-TENV:... option
f90 command line options

THREADPRIVATE directive
Data Environment Constructs

-Uvar option
f90 command line options

UNROLL directive
LNO Directives
Unrolling Loops

-use_command option
f90 command line options

-use_suffix option
f90 command line options

Variables
allocating local
f90 command line options
f90 command line options
f90 command line options

-version option
f90 command line options

VSEARCH directive
Directive Range and Placement

-warg option
f90 command line options

WHIRL
The file.w2f.f File

-Wl option
f90 command line options

-woffnum option
f90 command line options

WORKSHARE directive
Work-sharing Constructs

-x dirname option
Interaction of Directives with the -x Command Line Option

-x lang option
f90 command line options

-x option
f90 command line options