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
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
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
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)
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
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
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)
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
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
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 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
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
Customizing Compilation Process Overview
Specifying Alternate Tools and Locations
Preprocessing Overview Preprocessing Fortran Files Preprocessing Only: -E, -EP, -F, and -P Searching for Include Files Defining Macros, -D, -U and -A
Preprocessing Overview
Preprocessing Fortran Files
Preprocessing Only: -E, -EP, -F, and -P
Searching for Include Files
Defining Macros, -D, -U and -A
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
Compilation Overview
Compilation Options
Controlling Compilation Monitoring Data Settings Little-endian-to-Big-endian Conversion
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
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
Debugging Options Overview Support for Symbolic Debugging Compiling Source Lines with Debugging Statements, -DD Parsing for Syntax Only Debugging and Optimizations
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
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)
Optimization Levels
Optimization Levels Overview Setting Optimization Levels Restricting Optimizations
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
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
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
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
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
Inline Expansion of Library Functions
Controlling Inline Expansion of User Functions
Criteria for Inline Function Expansion
Using -ip with -Qoption Specifiers
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
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
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
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
HLO Overview
Loop Transformations
Scalar Replacement (IA-32 Only)
Loop Unrolling with -unroll[n]
Memory Dependency with IVDEP Directive
Prefetching
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
Parallelization Options Overview
Auto-parallelization
Auto-parallelization Overview Threshold for Auto-parallelization Using Auto-parallelization Auto-parallelizer's Diagnostic
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
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
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)
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
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
Math Libraries Overview
Using Math Libraries with IA-32 Systems
IEEE Floating-point Exceptions
Invalid Operation Exception
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
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
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
Diagnostic Report, -d{n}
Invoking a Postmortem Report
Messages and Obtaining Information
Compiler Information Messages Diagnostic Messages Warning Messages Comment Messages Error Messages
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
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
OpenMP* Reference Information
List of OpenMP* Standard Directives and Clauses List of OpenMP* Runtime Library Routines
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
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
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
Error Message Lists Overview
Runtime Errors (IA-32 Only)
Allocation Errors
Input/Output Errors
Intrinsic Procedure Errors
Mathematical Errors
Exception Messages