Contents

About this document
Who should read this document
How to use this document
How this document is organized
Conventions and terminology used in this document
Typographical conventions
How to read syntax diagrams
How to read syntax statements
Examples
Notes on path names
Notes on the terminology used
Related information
IBM XL Fortran documentation
Additional documentation
Related documentation
Standards documents
Technical support
How to send your comments
Introduction
Overview of XL Fortran features
Hardware and operating-system support
Language support
Migration support
Source-code conformance checking
Highly configurable compiler
Diagnostic listings
Symbolic debugger support
Program optimization
Setting up and customizing XL Fortran
Where to find installation instructions
Using the compiler on a network file System
Correct settings for environment variables
Environment variable basics
Environment variables for national language support
Setting library search paths
PDFDIR: Specifying the directory for PDF profile information
TMPDIR: Specifying a directory for temporary files
XLFSCRATCH_unit: Specifying names for scratch files
XLFUNIT_unit: Specifying names for implicitly connected files
Customizing the configuration file
Attributes
Determining which level of XL Fortran is installed
Running two levels of XL Fortran
Editing, compiling, linking, and running XL Fortran programs
Editing XL Fortran source files
Compiling XL Fortran programs
Compiling Fortran 90 or Fortran 95 programs
Compiling XL Fortran SMP programs
Compilation order for Fortran programs
Canceling a compilation
XL Fortran input files
XL Fortran Output files
Scope and precedence of option settings
Specifying options on the command line
Specifying options in the source file
Passing command-line options to the "ld" or "as" commands
Displaying information inside binary files (strings)
Compiling for specific architectures
Passing Fortran files through the C preprocessor
cpp Directives for XL Fortran programs
Passing options to the C preprocessor
Avoiding preprocessing problems
Linking XL Fortran programs
Compiling and linking in separate Steps
Passing options to the ld command
Dynamic and Static Linking
Avoiding naming conflicts during linking
Running XL Fortran programs
Canceling execution
Compiling and executing on different systems
Run-time libraries for POSIX pthreads support
Selecting the language for run-time messages
Setting run-time options
Other environment variables that affect run-time behavior
XL Fortran run-time exceptions
XL Fortran compiler option reference
Summary of the XL Fortran compiler options
Options that control input to the compiler
Options that specify the locations of output files
Options for performance optimization
Options for error checking and debugging
Options that control listings and messages
Options for compatibility
Options for floating-point processing
Options that control linking
Options that control other compiler operations
Options that are obsolete or not recommended
Detailed descriptions of the XL Fortran compiler options
-# option
-1 option
-B option
-C option
-c option
-D option
-d option
-F option
-g option
-I option
-k option
-L option
-l option
-NS option
-O option
-o option
-p option
-Q option
-q32 option
-q64 option
-qalias option
-qalign option
-qarch option
-qassert option
-qattr option
-qautodbl option
-qbigdata option
-qcache option
-qcclines option
-qcheck option
-qci option
-qcompact option
-qcr option
-qctyplss option
-qdbg option
-qddim option
-qdirective option
-qdirectstorage option
-qdlines option
-qdpc option
-qenablevmx option
-qenum option
-qescape option
-qessl Option
-qextern option
-qextname option
-qfixed option
-qflag option
-qfloat option
-qflttrap option
-qfree option
-qfullpath option
-qhalt option
-qhot option
-qieee option
-qinit option
-qinitauto option
-qinlglue option
-qintlog option
-qintsize option
-qipa option
-qkeepparm option
-qlanglvl option
-qlibansi option
-qlibposix option
-qlinedebug option
-qlist option
-qlistopt option
-qlog4 option
-qmaxmem option
-qmbcs option
-qminimaltoc option
-qmixed option
-qmoddir option
-qmodule option
-qnoprint option
-qnullterm option
-qobject option
-qoldmod option
-qonetrip option
-qoptimize option
-qpdf option
-qphsinfo option
-qpic option
-qport option
-qposition option
-qprefetch option
-qqcount option
-qrealsize option
-qrecur option
-qreport option
-qsaa option
-qsave option
-qsaveopt option
-qsclk option
-qshowpdf option
-qsigtrap option
-qsmallstack option
-qsmp option
-qsource option
-qspillsize option
-qstacktemp option
-qstrict option
-qstrictieeemod option
-qstrict_induction option
-qsuffix option
-qsuppress option
-qswapomp option
-qtbtable option
-qthreaded option
-qtune option
-qundef option
-qunroll option
-qunwind option
-qversion option
-qwarn64 option
-qxflag=dvz option
-qxflag=oldtab option
-qxlf77 option
-qxlf90 option
-qxlines option
-qxref option
-qzerosize option
-S option
-t option
-U option
-u option
-v option
-V option
-W option
-w option
-y option
Using XL Fortran in a 64-Bit Environment
Compiler options for the 64-Bit environment
Problem determination and debugging
Understanding XL Fortran error messages
Error severity
Compiler return code
Run-time return code
Understanding XL Fortran messages
Limiting the number of compile-time messages
Selecting the language for messages
Fixing installation or system environment problems
Fixing compile-time problems
Duplicating extensions from other systems
Isolating problems with individual compilation units
Compiling with thread-safe commands
Running out of machine resources
Fixing link-time problems
Fixing run-time problems
Duplicating extensions from other systems
Mismatched sizes or types for arguments
Working around problems when optimizing
Input/Output errors
Tracebacks and core dumps
Debugging a Fortran 90 or Fortran 95 program
Understanding XL Fortran compiler listings
Header section
Options section
Source section
Error messages
Transformation report section
Attribute and cross-reference section
Object section
File table section
Compilation unit epilogue Section
Compilation epilogue Section
Appendix A. XL Fortran technical information
The compiler phases
External Names in XL Fortran Libraries
The XL Fortran run-time environment
External names in the run-time environment
Technical details of the -qfloat=hsflt option
Implementation details for -qautodbl promotion and padding
Terminology
Examples of storage relationships for -qautodbl suboptions
Appendix B. XL Fortran internal limits
Glossary
Index