About Intel® Fortran Compiler
Welcome to Intel® Fortran Compiler
What's New in This Release
Features and Benefits
Product Web Site and Support
System Requirements
FLEXlm* Electronic Licensing
About This Document
How to Use This Document
Related Publications
Disclaimer
Compiler Options Quick Reference Guides
Options Quick Reference Guides Overview
New Compiler Options
Alphabetical Listing
Compiler Options Quick Reference Alphabetical
Functional Group Listings
Compiler Options by Functional Groups Overview
Customizing Compilation Process Options
Fortran Compilation Environment
Alternate Tools and Locations
Preprocessing
Compiling
Linking
Compilation Output
Debugging
Libraries
Diagnostics and Messages
Language Conformance Options
Data Type
Source Program
Arguments and Variables
Common Blocks
Application Performance Optimizations Options
Optimization Level
Floating-point Arithmetic Precision
Processor Dispatch Support (IA-32 only)
Interprocedural Optimizations
Profile-guided Optimizations
High-level Language Optimizations
Parallelization
Vectorization
Optimization Reports (Itanium(TM) Compiler)
Windows* to Linux* Mapping
Windows* to Linux* Options Cross-reference
Getting Started with the Intel® Fortran Compiler
Invoking Intel® Fortran Compiler
Invoking from the Compiler Command Line
Command Line with make
Input Files
Default Behavior of the Compiler
Default Behavior Overview
Default Behavior of the Compiler Options
Default Libraries and Tools
Compilation Phases
Customizing Compilation Environment
Customizing Compilation Environment Overview
Environment Variables
FCE Options
Configuration Files
Response Files
Include Files
Fortran Compilation Environment (FCE)
FCE Overview
Object Files and Dictionary Files
Program Unit Catalog Files
An Example of Development Organization
The FCE Manager Utility
The Binder
Dependent and Independent Compilation
Fortran Programs with or without Modules
Stale Program Units
Customizing Compilation Process
Customizing Compilation Process Overview
Specifying Alternate Tools and Locations
Preprocessing
Preprocessing Overview
Preprocessing Fortran Files
Preprocessing Only: -E, -EP, -F, and -P
Searching for Include Files
Defining Macros, -D, -U and -A
Compiling
Compilation Overview
Compilation Options
Controlling Compilation
Monitoring Data Settings
Little-endian-to-Big-endian Conversion
Specifying Compilation Output
Specifying Compilation Output Overview
Default Output Files
Specifying Executable Files
Specifying Object Files
Specifying Assembly Files
Specifying Output Directories
Compiler Output Options Summary
Using the Assembler to Produce Object Code
Assembly File Code Example
Listing Options
Linking
Debugging
Debugging Options Overview
Support for Symbolic Debugging
Compiling Source Lines with Debugging Statements, -DD
Parsing for Syntax Only
Debugging and Optimizations
Fortran Language Conformance Options
Fortran Language Options Overview
Setting Integer and Floating-point Data Types
Source Program Features
Setting Arguments and Variables
Allocating Common Blocks
Optimizations
Optimization Levels
Optimization Levels Overview
Setting Optimization Levels
Restricting Optimizations
Floating-point Arithmetic Optimizations
Floating-point Arithmetic Precision Overview
Floating-point Arithmetic Precision for IA-32 Systems
Floating-point Arithmetic Precision for Itanium-based Systems
Maintaining and Restricting FP Arithmetic Precision
Processor Dispatch Extensions Support (IA-32 Only)
Targeting a Processor and Extensions Support Overview
Targeting a Processor, -tppn
Exclusive Specialized Code with -x{i |M|K|W}
Specialized Code with -ax{i |M|K|W}
Combining Processor Target and Dispatch Options
Interprocedural Optimizations (IPO)
IPO Overview
Multifile IPO
Multifile IPO Overview
Compilation with Real Object Files, -ipo_obj
Creating a Multifile IPO Executable
Creating a Multifile IPO Executable Using a Project Makefile
Analyzing the Effects of Multifile IPO, -ipo_c, -ipo_S
Inline Expansion of Functions
Inline Expansion of Library Functions
Controlling Inline Expansion of User Functions
Criteria for Inline Function Expansion
Using -ip with -Qoption Specifiers
Profile-guided Optimizations
Profile-guided Optimizations Overview
Profile-guided Optimizations Methodology
Basic PGO Options
Example of Profile-Guided Optimization
Advanced PGO Options
PGO Environment Variables
Function Order List
Function Order List Overview
Function Order List Utilities
Example of Function Order List Generation
PGO API: Profile Information Generation Support
PGO API Support Overview
Dumping Profile Information
Resetting the Dynamic Profile Counters
Dumping and Resetting Profile Information
Interval Profile Dumping
High-level Language Optimizations (HLO)
HLO Overview
Loop Transformations
Scalar Replacement (IA-32 Only)
Loop Unrolling with -unroll[n]
Memory Dependency with IVDEP Directive
Prefetching
Parallelization
Parallelization Options Overview
Auto-parallelization
Auto-parallelization Overview
Threshold for Auto-parallelization
Using Auto-parallelization
Auto-parallelizer's Diagnostic
Parallelization with OpenMP*
Parallelization with OpenMP*
OpenMP* Standard Option
OpenMP* Runtime Library Routines
Intel Extensions to OpenMP*
Examples of OpenMP* Usage
Vectorization (IA-32 Only)
Vectorization Overview
Vectorizer Options
Vectorization Key Programming Guidelines
Data Dependence
Loop Constructs
Loop Exit Conditions
Types of Loop Vectorized
Stripmining and Cleanup
Statements in the Loop Body
Vectorizable Data References
Vectorization Examples
Loop Interchange and Subscripts: Matrix Multiply
Optimizer Report Generation (Itanium(TM) Compiler)
Libraries
Managing Libraries
Using the POSIX and Portability Libraries
Intel® Shared Libraries
Math Libraries
Math Libraries Overview
Using Math Libraries with IA-32 Systems
IEEE Floating-point Exceptions
Invalid Operation Exception
Diagnostics and Messages
Diagnostics Overview
Runtime Diagnostics (IA-32 Compiler Only)
Runtime Diagnostics Overview
Optional Runtime Checks
Pointers, -CA
Array Subscripts, Character Substrings, -CB
Unassigned Variables, -CU
Actual to Dummy Argument Correspondence, -CV
Generating Diagnostic Reports
Diagnostic Report, -d{n}
Invoking a Postmortem Report
Messages and Obtaining Information
Compiler Information Messages
Diagnostic Messages
Warning Messages
Comment Messages
Error Messages
Mixing C and Fortran
Mixing C and Fortran Overview
Fortran and C Scalar Arguments
Passing Scalar Arguments by Value
Array Arguments
Character Types
Complex Types
Return Values
Returning Character Data Types
Returning Complex Type Data
Procedure Names
Pointers
Calling C Pointer-type Function from Fortran
Implicit Interface
Explicit Interface
Intrinsic Functions
Reference Information
OpenMP* Reference Information
List of OpenMP* Standard Directives and Clauses
List of OpenMP* Runtime Library Routines
Compiler Limits
Maximum Size and Number
Additional Intrinsic Functions
Additional Intrinsic Functions Overview
Argument and Result KIND Parameters
Intel® Fortran kind Parameters
%REF and %VAL Intrinsic Functions
List of Additional Intrinsic Functions
Intel Fortran Compiler Key Files
Key Files Summary for IA-32 Compiler
Key Files Summary for Itanium(TM) Compiler
Lists of Error Messages
Error Message Lists Overview
Runtime Errors (IA-32 Only)
Allocation Errors
Input/Output Errors
Intrinsic Procedure Errors
Mathematical Errors
Exception Messages