Go to main content
- Oracle® Developer Studio 12.5: Fortran User's Guide
- Document Information
- Using This Documentation
- Chapter 1 Introduction
- Chapter 2 Using Oracle Developer Studio Fortran
- Chapter 3 Fortran Compiler Options
- 3.1 Command Syntax
- 3.2 Options Syntax
- 3.3 Options Summary
- 3.4 Options Reference
- 3.4.1 –aligncommon[={1|2|4|8|16}]
- 3.4.2 –ansi
- 3.4.3 –arg=local
- 3.4.4 –autopar
- 3.4.5 –B{static|dynamic}
- 3.4.6 –C
- 3.4.7 –c
- 3.4.8 –copyargs
- 3.4.9 –Dname[=def]
- 3.4.10 –dalign
- 3.4.11 –dbl_align_all[={yes|no}]
- 3.4.12 –depend[={yes|no}]
- 3.4.13 –dryrun
- 3.4.14 –d{y|n}
- 3.4.15 –e
- 3.4.16 –erroff[={%all|%none|taglist}]
- 3.4.17 –errtags[={yes|no}]
- 3.4.18 –errwarn[={%all|%none|taglist}]
- 3.4.19 –ext_names=e
- 3.4.20 –F
- 3.4.21 –f
- 3.4.22 –f77[=list]
- 3.4.23 –fast
- 3.4.24 -features=a
- 3.4.25 –fixed
- 3.4.26 –flags
- 3.4.27 –fma[={none|fused}]
- 3.4.28 –fnonstd
- 3.4.29 –fns[={yes|no}]
- 3.4.30 -fopenmp
- 3.4.31 –fpover[={yes|no}]
- 3.4.32 –fpp
- 3.4.33 –fprecision={single|double|extended}
- 3.4.34 –free
- 3.4.35 –fround={nearest|tozero|negative|positive}
- 3.4.36 –fserialio
- 3.4.37 –fsimple[={1|2|0}]
- 3.4.38 –fstore
- 3.4.39 –ftrap=t
- 3.4.40 –G
- 3.4.41 -g
- 3.4.42 –g[n]
- 3.4.43 –hname
- 3.4.44 –help
- 3.4.45 –Ipath
- 3.4.46 -i8
- 3.4.47 –inline=[%auto][[,][no%]f1,…[no%]fn]
- 3.4.48 –iorounding[={compatible|processor-defined}]
- 3.4.49 –keepmod[={yes|no}]
- 3.4.50 –keeptmp
- 3.4.51 –Kpic
- 3.4.52 –KPIC
- 3.4.53 –Lpath
- 3.4.54 –lx
- 3.4.55 –libmil
- 3.4.56 -library=sunperf
- 3.4.57 –loopinfo
- 3.4.58 –Mpath
- 3.4.59 –m32 | –m64
- 3.4.60 –moddir=path
- 3.4.61 -mt[={yes|no}]
- 3.4.62 –native
- 3.4.63 –noautopar
- 3.4.64 –nodepend
- 3.4.65 -nofstore
- 3.4.66 –nolib
- 3.4.67 –nolibmil
- 3.4.68 –noreduction
- 3.4.69 –norunpath
- 3.4.70 –O[n]
- 3.4.71 –o
filename
- 3.4.72 –onetrip
- 3.4.73 –openmp
- 3.4.74 –p
- 3.4.75 –pad[=p]
- 3.4.76 –pg
- 3.4.77 –pic
- 3.4.78 –PIC
- 3.4.79 –preserve_argvalues[=simple|none|complete]
- 3.4.80 –Qoption
pr ls
- 3.4.81 –qp
- 3.4.82 –R
ls
- 3.4.83 –r8const
- 3.4.84 –recl=a[,b]
- 3.4.85 –reduction
- 3.4.86 –S
- 3.4.87 –s
- 3.4.88 –silent
- 3.4.89 –stackvar
- 3.4.90 –stop_status[={yes|no}]
- 3.4.91 –temp=dir
- 3.4.92 –time
- 3.4.93 –traceback[={%none|common|signals_list}]
- 3.4.94 –U
- 3.4.95 –Uname
- 3.4.96 –u
- 3.4.97 –unroll=n
- 3.4.98 –use=list
- 3.4.99 –V
- 3.4.100 –v
- 3.4.101 –vax=keywords
- 3.4.102 –vpara
- 3.4.103 -Wc,arg
- 3.4.104 –w[n]
- 3.4.105 -Xlinker
arg
- 3.4.106 –Xlist[x]
- 3.4.107 –xaddr32[={yes|no}]
- 3.4.108 –xalias[=keywords]
- 3.4.109 –xannotate[={yes|no}]
- 3.4.110 –xarch=isa
- 3.4.111 –xassume_control[=keywords]
- 3.4.112 –xautopar
- 3.4.113 –xbinopt={prepare | off}
- 3.4.114 –xcache=c
- 3.4.115 –xcheck[=keyword[,keyword]]
- 3.4.116 –xchip=c
- 3.4.117 -xcode[=v]
- 3.4.118 –xcommonchk[={yes|no}]
- 3.4.119 –xdebugformat={dwarf|stabs}
- 3.4.120 -xdebuginfo=a[,a...]
- 3.4.121 –xdepend
- 3.4.122 –xF
- 3.4.123 –xfilebyteorder=options
- 3.4.124 -xglobalize[={yes|no}]
- 3.4.125 –xhasc[={yes|no}]
- 3.4.126 –xhelp=flags
- 3.4.127 –xhwcprof[={enable | disable}]
- 3.4.128 –xia[={widestneed|strict}]
- 3.4.129 –xinline=list
- 3.4.130 –xinline_param=a[,a[,a]...]
- 3.4.131 –xinline_report[=n]
- 3.4.132 –xinstrument=[%no]datarace
- 3.4.133 –xinterval[={widestneed|strict|no}]
- 3.4.134 –xipo[={0|1|2}]
- 3.4.135 –xipo_archive[={none|readonly|writeback}]
- 3.4.136 -xipo_build=[yes|no]
- 3.4.137 –xivdep[=p]
- 3.4.138 -xjobs{=n|auto}
- 3.4.139 -xkeep_unref[={[no%]funcs,[no%]vars}]
- 3.4.140 –xkeepframe[=[%all,%none,name,no%name]]
- 3.4.141 –xknown_lib=library_list
- 3.4.142 –xl
- 3.4.143 –xlang=f77
- 3.4.144 –xld
- 3.4.145 –xlibmil
- 3.4.146 –xlibmopt
- 3.4.147 –xlic_lib=sunperf
- 3.4.148 –xlinkopt[={1|2|0}]
- 3.4.149 –xloopinfo
- 3.4.150 –xM
- 3.4.151 –xmaxopt[=n]
- 3.4.152 –xmemalign[=<a><b>]
- 3.4.153 –xmodel=[small | kernel | medium]
- 3.4.154 –xnolib
- 3.4.155 –xnolibmil
- 3.4.156 –xnolibmopt
- 3.4.157 –xOn
- 3.4.158 –xopenmp[={parallel|noopt|none}]
- 3.4.159 –xpad
- 3.4.160 –xpagesize=size
- 3.4.161 –xpagesize_heap=size
- 3.4.162 –xpagesize_stack=size
- 3.4.163 -xpatchpadding[={fix|patch|size}]
- 3.4.164 –xpec[={yes|no}]
- 3.4.165 –xpg
- 3.4.166 –xpp={fpp|cpp}
- 3.4.167 –xprefetch[=a[,a]]
- 3.4.168 –xprefetch_auto_type=indirect_array_access
- 3.4.169 –xprefetch_level={1|2|3}
- 3.4.170 –xprofile=p
- 3.4.171 –xprofile_ircache[=path]
- 3.4.172 –xprofile_pathmap=collect_prefix:use_prefix
- 3.4.173 –xrecursive
- 3.4.174 –xreduction
- 3.4.175 –xregs=r
- 3.4.176 -xs[={yes|no}]
- 3.4.177 –xsafe=mem
- 3.4.178 –xsecure_code_analysis{=[yes|no]}
- 3.4.179 -xsegment_align=n
- 3.4.180 –xspace
- 3.4.181 –xtarget=t
- 3.4.182 -xtemp=path
- 3.4.183 -xthroughput[={yes|no}]
- 3.4.184 –xtime
- 3.4.185 –xtypemap=spec
- 3.4.186 -xunboundsym={yes|no}
- 3.4.187 –xunroll=n
- 3.4.188 -xvector[=a]
- 3.4.189 –ztext
- Chapter 4 Oracle Developer Studio Fortran Features and Extensions
- Chapter 5 FORTRAN 77 Compatibility: Migrating to Oracle Developer Studio Fortran
- Appendix A Runtime Error Messages
- Appendix B Features Release History
- Appendix C Fortran Directives Summary
- Index
Index
Numbers and Symbols
- !DIR$ in directives
Fixed-Form Source
- -xcode
-xcode[=v]
- -xdebuginfo
-xdebuginfo=a[,a...]
- -xglobalize
-xglobalize[={yes|no}]
- -xinline_param
xinline_param=a[,a[,a]...]
- -xinline_report
xinline_report[=n]
- -xtemp
-xtemp=path
- -xvector
-xvector[=a]
- .mod file, module file
Module Files
A
- abrupt_underflow
–fnonstd
- address space
–xaddr32[={yes|no}]
- aliasing
–xalias[=keywords]- -xalias
–xalias[=keywords]
- align See Also
data- -dalign
–dalign
- data in COMMON with -aligncommon
–aligncommon[={1|2|4|8|16}]
- alignment of data types
Size and Alignment of Data Types
- ALLOCATABLE
- extensions
Extended ALLOCATABLE Attribute
- analyzer compile option, xF
–xF
- arguments, agreement, Xlist
–Xlist[x]
- arithmetic See
floating-point
- array bounds checking
–C
- assembly code
–S
- ASSUME directive
The ASSUME Directives
B
- backward compatibility, command-line options
Backward Compatibility and Legacy Options
- binary I/O
Additional I/O Extensions
- binding, dynamic/shared libraries
–d{y|n}
- Boolean
- constant, alternate forms
Alternate Forms of Boolean Constants
- type, constants
Boolean Type
C
- C(..) directive
The C Directive
- cache
- padding for
–pad[=p]
- specify hardware cache
–xcache=c
- CALL
- inlining subprogram calls with -inline
–inline=[%auto][[,][no%]f1,…[no%]fn]
- cc command-line options
- -xdebuginfo
-xdebuginfo=a[,a...]
- -xinline_param
xinline_param=a[,a[,a]...]
- -xinline_report
xinline_report[=n]
- CDIR$ in directives
Fixed-Form Source
- code size
–xspace
- command-line
- help
Command-Line Help
- command-line options
- -a (obsolete)
Obsolete f95 Options
- -aligncommon
–aligncommon[={1|2|4|8|16}]
- -ansi
–ansi
- -arg=local
–arg=local
- -autopar, parallelize automatically
–autopar
- -Bdynamic
–B{static|dynamic}
- -Bstatic
–B{static|dynamic}
- -C, check subscripts
–C
- -c, compile only
–c
- -copyargs, allow stores to literal arguments
–copyargs
- -Dname, define symbol
–Dname[=def]
- -dalign
–fast
–dalign
- -dbl_align_all, force data alignment
–dbl_align_all[={yes|no}]
- -depend
–fast- data dependency analysis
–depend[={yes|no}]
- -dn
–d{y|n}
- -dryrun
–dryrun
- -dy
–d{y|n}
- -e, extended source lines
–e
- -erroff, suppress warnings
–erroff[={%all|%none|taglist}]
- -errtags, display message tag with warnings
–errtags[={yes|no}]
- -errwarn, error warnings
–errwarn[={%all|%none|taglist}]
- -ext_names, externals without underscore
–ext_names=e
- -f77
–f77[=list]
- -F
–F
- -f, align on 8-byte boundaries
–f
- -fast
–fast
- -fixed
–fixed
- -flags
–flags
- -fma
–fma[={none|fused}]
–fast
- -fnonstd
–fnonstd
- -fns
–fns[={yes|no}]
–fast
- -fopenmp
-fopenmp
- -fpp, Fortran preprocessor
–fpp
- -fprecision, x86 precision mode
–fprecision={single|double|extended}
- -free
–free
- -fround=r
–fround={nearest|tozero|negative|positive}
- -fserialior
–fserialio
- -fsimple
–fast- simple floating-point model
–fsimple[={1|2|0}]
- -fstore
–fstore
- -ftrap
–ftrap=t
- -G
–G
- -g
–g[n]
-g
- -hname
–hname
- -help
–help
- -i8 — use —xtypemap=integer:64 instead
-i8
- -Idir
–Ipath
- -inline
–inline=[%auto][[,][no%]f1,…[no%]fn]
- -iorounding
–iorounding[={compatible|processor-defined}]
- -keepmod
–keepmod[={yes|no}]
- -keeptmp
–keeptmp
- -Kpic
–Kpic
- -KPIC
–KPIC
- -Ldir
–Lpath
- -llibrary
–lx
- -libmil
–libmil
–fast
- -library=sunperf
-library=sunperf
- -loopinfo, show parallelization
–loopinfo
- -m32 | —m64
–m32 | –m64
- -Mdir, f95 modules
Module Files
- -moddir
–moddir=path
- -mt, multithread safe libraries
-mt[={yes|no}]
- -native
–native
- -native (obsolete)
Obsolete f95 Options
- -noautopar
–noautopar
- -nodepend
–nodepend
- -nofstore
-nofstore
- -nolib
–nolib
- -nolibmil
–nolibmil
- -noqueue (obsolete)
Obsolete f95 Options
- -noreduction
–noreduction
- -norunpath
–norunpath
- -o, output file
–o
filename
- -On
–O[n]
–O[n]
–fast
- -onetrip
–onetrip
- -openmp
–openmp
- -p, profile (obsolete)
–p
- -pad=p
–pad[=p]
–fast
- -pg, profile by procedure
–pg
- -pic
–pic
- -PIC
–PIC
- -pic (obsolete)
Obsolete f95 Options
- -PIC (obsolete)
Obsolete f95 Options
- -preserve_argvalues
–preserve_argvalues[=simple|none|complete]
- -Qoption
–Qoption
pr ls
- -R list
–R
ls
- -r8const
–r8const
- -recl=a[,b]
–recl=a[,b]
- -S
–S
- -s
–s
- -silent
–silent
- -stackvar
–xrecursive
–stackvar
- -stop_status
–stop_status[={yes|no}]
- -temp
–temp=dir
- -time
–time
- -traceback
–traceback[={%none|common|signals_list}]
- -u
–u
- -U, do not convert to lowercase
–U
- -Uname, undefine preprocessor macro
–Uname
- -unroll, unroll loops
–unroll=n
- -use
The -use=list Option Flag
- -V
–V
- -v
–v
- -vax
–vax=keywords
- -vpara
–vpara
- -W
-Wc,arg
- -w
–w[n]
- -xaddr32
–xaddr32[={yes|no}]
- -xalias=list
–xalias[=keywords]
- -xannotate[={yes|no}]
–xannotate[={yes|no}]
- -xarch=isa
–xarch=isa
- -xassume_control
–xassume_control[=keywords]
The ASSUME Directives
- -xautopar
–xautopar
- -xbinopt
–xbinopt={prepare | off}
- -xcache=c
–xcache=c
- -xchip=c
–xchip=c
- -xcode=c
-xcode[=v]
- -xcommoncheck
–xcommonchk[={yes|no}]
- -xdebugformat
–xdebugformat={dwarf|stabs}
- -xdepend
–xdepend
- -xF
–xF
- -xglobalize
-xglobalize[={yes|no}]
- -xhasc, Hollerith as character
–xhasc[={yes|no}]
- -xhelp=h
–xhelp=flags
- -xhwcprof
–xhwcprof[={enable | disable}]
- -xia, interval arithmetic
–xia[={widestneed|strict}]
- -xinline
–xinline=list
- -xinstrument
–xinstrument=[%no]datarace
- -xinterval=v for interval arithmetic
–xinterval[={widestneed|strict|no}]
- -xipo, interprocedural optimizations
–xipo[={0|1|2}]
- -xipo_archive
–xipo_archive[={none|readonly|writeback}]
- -xipo_build
-xipo_build=[yes|no]
- -xivdep
–xivdep[=p]
- -xjobs, multiprocessor compilation
-xjobs{=n|auto}
- -xkeepframe, prohibit stack-related optimizations
–xkeepframe[=[%all,%none,name,no%name]]
- -xknown_lib, optimize library calls
–xknown_lib=library_list
- -xl, (obsolete)
–xl
- -xlang=f77, link with Fortran 77 libraries
–xlang=f77
- -xld, (obsolete)
–xld
- -xlibmil
–xlibmil
- -xlibmopt
–xlibmopt
–fast
- -xlic_lib=sunperf obsolete
–xlic_lib=sunperf
- -Xlinker
-Xlinker
arg
- -xlinkopt
–xlinkopt[={1|2|0}]
- -xlinkopt, link-time optimizations
–xlinkopt[={1|2|0}]
- -Xlist, global program checking
–Xlist[x]
- -xloopinfo
–xloopinfo
- -xM
–xM
- -xmaxopt
–xmaxopt[=n]
- -xmemalign
–xmemalign[=<a><b>]
- -xnolib
–xnolibmil
–xnolib
- -xnolibmopt
–xnolibmopt
- -xOn
–xOn
- -xopenmp
–xopenmp[={parallel|noopt|none}]
- -xpagesize
–xpagesize=size
- -xpagesize_heap
–xpagesize_heap=size
- -xpagesize_stack
–xpagesize_stack=size
- -xpatchpadding
-xpatchpadding[={fix|patch|size}]
- -xpec
–xpec[={yes|no}]
- -xpg
–xpg
- -xpp=p
–xpp={fpp|cpp}
- -xprefetch
The PREFETCH Directives
The PREFETCH Directives
- -xprefetch_auto_type
–xprefetch_auto_type=indirect_array_access
- -xprofile=p
–xprofile=p
- -xprofile_ircache
–xprofile_ircache[=path]
- -xprofile_pathmap=param
–xprofile_pathmap=collect_prefix:use_prefix
- -xrecursive
–xrecursive
- -xreduction
–xreduction
- -xregs=r
–xregs=r
- -xs
-xs[={yes|no}]
- -xsafe=mem
–xsafe=mem
- -xsecure_code_analysis
–xsecure_code_analysis{=[yes|no]}
- -xsegment_align
-xsegment_align=n
- -xspace
–xspace
- -xtarget=t
–xtarget=t
- -xtarget=native
–fast
- -xtemp
-xtemp=path
- -xthroughput
-xthroughput[={yes|no}]
- -xtime
–xtime
- -xtypemap
–xtypemap=spec
- -xunboundsym
-xunboundsym={yes|no}
- -xunroll
–xunroll=n
- -xvector
-xvector[=a]
–fast
- -ztext
–ztext
- commonly used
Commonly Used Options
- default options file
User-Supplied Default Options File
- grouped by function
Options Summary
- legacy
Backward Compatibility and Legacy Options
- macros
Macro Flags
- obsolete
Obsolete Option Flags
- obsolete f77 flags not supported
Incompatibility Issues
- order of processing
Typographic Notations for Options
- pass option to compilation phase
–Qoption
pr ls
- Reference to all option flags
Options Reference
- summary
Options Summary
- syntax
Options Syntax
- unrecognized options
Unrecognized Command-Line Arguments
- comments
- as directives
Directives
- COMMON
- alignment
–aligncommon[={1|2|4|8|16}]
- global consistency, -Xlist
–Xlist[x]
- padding
–pad[=p]
- TASKCOMMON consistency checking
–xcommonchk[={yes|no}]
- compatibility
- Fortran 77
FORTRAN 77 Compatibility: Migrating to Oracle Developer Studio Fortran
–f77[=list]
- forward
Forward Compatibility
- with C
Mixing Languages
- compile and link
Separate Compiling and Linking
Compile-Link Sequence
- and -B
–B{static|dynamic}
- build a dynamic shared library
–G
- compile only
–c
- dynamic (shared) libraries
–d{y|n}
- compiler
- command line
Invoking the Compiler
- driver, show commands with -dryrun
–dryrun
–dryrun
- show version
–V
- timing
–time
- verbose messages
–v
- constant arguments, -copyargs
–copyargs
- continuation lines
Continuation Line Limits
–e
- conventions
- file name suffixes
Command-Line File Name Conventions
- coverage analysis (tcov)
–xprofile=p
- cpp, C preprocessor
–F
–Dname[=def]
Source File Preprocessors
- Cray
- pointer
Cray Pointers
- pointer and Fortran pointer
Declaring Cray Pointers and Fortran 95 Pointers
- cross reference table, Xlist
–Xlist[x]
D
- data
- alignment with -dbl_align_all
–dbl_align_all[={yes|no}]
- alignment with -f
–f
- alignment with -xmemalign
–xmemalign[=<a><b>]
- COMMON, alignment with aligncommon
–aligncommon[={1|2|4|8|16}]
- mappings with -xtypemap
–xtypemap=spec
- promote constants to REAL*8
–r8const
- size and alignment
Size and Alignment of Data Types
- data dependence
- -depend
–depend[={yes|no}]
- dbx
- compile with -g option
–g[n]
-g
- debugging
- -g option
–g[n]
-g
- -Xlist
Debugging Utilities
- check array subscripts with -C
–C
- cross-reference table
–Xlist[x]
- global program checking with -Xlist
–Xlist[x]
- link debug information from object files into executable
-xs[={yes|no}]
- show compiler commands with -dryrun
–dryrun
–dryrun
- utilities
Debugging Utilities
- with optimization
–g[n]
- default
- data sizes and alignment
Size and Alignment of Data Types
- include file paths
–Ipath
- define symbol for cpp, Dname
–Dname[=def]
- directives
- ASSUME
The ASSUME Directives
- FIXED
FIXED and FREE Directives
- Fortran 77
Directives
- FREE
FIXED and FREE Directives
- IGNORE_TKR
The IGNORE_TKR Directive
- loop unrolling
The UNROLL Directive
- OpenMP (Fortran)
Fortran OpenMP Directives
OpenMP Parallelization Directives
- optimization level
The OPT Directive
- parallelization
Parallelization Directives
Parallelization Directives
- special Fortran
Form of Special f95 Directive Lines
- summary of all directives
Fortran Directives Summary
- weak linking
The WEAK Directive
- directory
- temporary files
–temp=dir
- dynamic library
- build, -G
–G
- name a dynamic library
–hname
E
- elfdump
The -xcode Flags
- environment
- program terminations by STOP
–stop_status[={yes|no}]
- environment variables
Using Environment Variables
- error messages
- f95
f95 Runtime I/O Error Messages
- message tags
–errtags[={yes|no}]
- suppress with -erroff
–erroff[={%all|%none|taglist}]
- exceptions, floating-point
–fsimple[={1|2|0}]- trapping
–ftrap=t
- executable file
- built-in path to dynamic libraries
–R
ls
- name
–o
filename
- strip symbol table from
–s
- explicit
- typing
–u
- explicit parallelization directives
Parallelization Directives
- extensions
- ALLOCATABLE
Extended ALLOCATABLE Attribute
- non-ANSI, -ansi flag
–ansi
- other I/O
Additional I/O Extensions
- stream I/O
Fortran 2003 Stream I/O
- VALUE
VALUE Attribute
- VAX structures and unions
STRUCTURE and UNION (VAX Fortran)
- extensions and features
Features of the Fortran Compiler
- external C functions
The C Directive
- external names
–ext_names=e
F
- f95 command line
Command Syntax
Invoking the Compiler
- fdumpmod for viewing module contents
The fdumpmod Command
Modules
- features
- Fortran 95
Oracle Developer Studio Fortran Features and Extensions
- release history
Features Release History
- features and extensions
Features of the Fortran Compiler
- FFLAGS environment variable
Using Environment Variables
- file
- executable
Compile-Link Sequence
- object
Compile-Link Sequence
- size too big
Memory Size
- file names
- recognized by the compiler
Source Form Assumed
Command-Line File Name Conventions
- fixed-format source
–fixed
- FIXED directive
Restrictions
FIXED and FREE Directives
- flags See
command-line options
- floating-point
- interval arithmetic
–xinterval[={widestneed|strict|no}]
- non-standard
–fns[={yes|no}]
- preferences, -fsimple
–fsimple[={1|2|0}]
- rounding
–fround={nearest|tozero|negative|positive}
- trapping mode
–ftrap=t
- FLUSH statement
Fortran 2003 FLUSH I/O Statement
- form
- tab
Tab Form
- Fortran
- compatibility with legacy
FORTRAN 77 Compatibility: Migrating to Oracle Developer Studio Fortran
–f77[=list]
–arg=local
- directives
Form of Special f95 Directive Lines
Directives
- features and extensions
Features of the Fortran Compiler
- handling nonstandard Fortran 77 aliasing
Additional Notes About Migrating to the f95 Compiler
- incompatibilities with legacy
Incompatibility Issues
- modules
Module Files
- preprocessor
–Dname[=def]- invoking with -F
–F
- utilities
Other Fortran Utilities
- Fortran 200x
Fortran 200x Features
- Fortran 95
- case
Case
- features
Source Language Features
- I/O extensions
Additional I/O Extensions
- linking with Fortran 77
Linking With Legacy FORTRAN 77-Compiled Routines
- fpp, Fortran preprocessor
–fpp
–F
–Dname[=def]
Source File Preprocessors
- free-format source
–free
- FREE directive
Restrictions
FIXED and FREE Directives
- fsecond-underscore
–ext_names=e
- fsplit, Fortran utility
Other Fortran Utilities
- function
- external C
The C Directive
- function-level reordering
–xF
G
- global program checking, -Xlist
–Xlist[x]
- global symbols
- weak
The WEAK Directive
- gprof
- -pg, profile by procedure
–pg
H
- hardware architecture
–xchip=c
–xarch=isa
- heap page size
–xpagesize_stack=size
–xpagesize_heap=size
–xpagesize=size
- help
- command-line
Command-Line Help
- hexadecimal
Hexadecimal
- Hollerith
Hollerith
I
- #ifdef
Source File Preprocessors
- #include
Source File Preprocessors
- #include path
–Ipath
- I/O extensions
Additional I/O Extensions
- IGNORE_TKR directive
The IGNORE_TKR Directive
- IMPORT statement
Fortran 2003 IMPORT Statement
- INCLUDE files
–Ipath- floatingpoint.h
Additional Notes About Migrating to the f95 Compiler
- system.inc
Library Interfaces and system.inc
- incompatibilities, FORTRAN 77
Incompatibility Issues
- initialization of local variables
–xcheck[=keyword[,keyword]]
- inline
- templates, -libmil
–libmil
- with -fast
–fast
- inlining
- automatic with -O4
–O[n]
- with -inline
–inline=[%auto][[,][no%]f1,…[no%]fn]
- installation
- path
–Ipath
- interfaces
- library
Library Interfaces and system.inc
- interval arithmetic
- -xia option
–xia[={widestneed|strict}]
- -xinterval option
–xinterval[={widestneed|strict|no}]
- intrinsics
- extensions
Intrinsics
- interfaces
Library Interfaces and system.inc
- legacy Fortran
Fortran Intrinsics
- invalid, floating-point
–ftrap=t
- ISA, instruction set architecture
–xarch=isa
- IVDEP directive
–xivdep[=p]
IVDEP Directive
L
- large files
Memory Size
- legacy compiler options
Backward Compatibility and Legacy Options
- libm
- searched by default
–Lpath
- libraries
- building shared libraries
The -xcode Flags
- Oracle Developer Studio Performance Library
Oracle Developer Studio Performance Library
- library
- build, -G
–G
- disable system libraries
–nolib
- dynamic search path in executable
–R
ls
- interfaces
Library Interfaces and system.inc
- linking with -l
–lx
- name a shared library
–hname
- Oracle Developer Studio Performance Library
–xlic_lib=sunperf
-library=sunperf
- path to shared library in executable
–norunpath
- position-independent and pure
–ztext
- limit
- command
Control of Virtual Memory
- stack size
–stackvar
- limits
- Fortran compiler
Limits and Defaults
- linear algebra routines
–xlic_lib=sunperf
-library=sunperf
- link-time optimizations
–xlinkopt[={1|2|0}]
- linking
- consistent compile and link
Consistent Compiling and Linking
- consistent with compilation
Consistent Compiling and Linking
- disable system libraries
–nolib
- enable dynamic linking, shared libraries
–d{y|n}
- linker -Mmapfile option
–xF
- separate from compilation
Separate Compiling and Linking
- specifying libraries with -l
–lx
- weak names
The WEAK Directive
- with automatic parallelization, -autopar
–autopar
- with compilation
Compile-Link Sequence
- list of command-line options
–help
- list of directives
Fortran Directives Summary
- loop
- automatic parallelization
–autopar
- dependence analysis, -depend
–depend[={yes|no}]
- executed once, -onetrip
–onetrip
- parallelization messages
–loopinfo
- unrolling with -unroll
–unroll=n
- unrolling with directive
The UNROLL Directive
M
- macro command-line options
Macro Flags
- man pages
Man Pages
- math library
- and -L dir option
–Lpath
- optimized version
–xlibmopt
- memory
- actual real memory, display
Swap Space Limits
- limit virtual memory
Control of Virtual Memory
- optimizer out of memory
Memory Size
- messages
- parallelization
–vpara
–loopinfo
- runtime
Operating System Error Messages
- suppress with -silent
–silent
- verbose
–v
- misaligned data, specifying behavior
–xmemalign[=<a><b>]
- MODDIR environment variable
–moddir=path
- modules
Module Files- -use
The -use=list Option Flag
- .mod file
Module Files
- creating and using
Modules
- default path
–moddir=path
- fdumpmod for displaying module files
The fdumpmod Command
- fdumpmod for viewing module contents
Modules
- multithreading
-mt[={yes|no}]- See
parallelization
N
- name
- object, executable file
–o
filename
- nonstandard_arithmetic()
–fnonstd
- numeric sequence type
–aligncommon[={1|2|4|8|16}]
O
- object files
- compile only
–c
- name
–o
filename
- object library search directories
–Lpath
- object-oriented Fortran
Object-Oriented Fortran Support
- obsolete command-line options
Obsolete Option Flags
- octal
Octal
- OMP_NUM_THREADS, number of threads
–autopar
- one-trip DO loops
–onetrip
- OpenMP
OpenMP Parallelization Directives- directives summary
Fortran OpenMP Directives
- OPT directive
The OPT Directive- -xmaxopt option
–xmaxopt[=n]
- optimization
- across source files
–xipo[={0|1|2}]
- aliasing
–xalias[=keywords]
- floating-point
–fsimple[={1|2|0}]
- inline user-written routines
–inline=[%auto][[,][no%]f1,…[no%]fn]
- interprocedural
–xipo[={0|1|2}]
- levels
–O[n]
- link-time
–xlinkopt[={1|2|0}]
- loop unrolling
–unroll=n
- loop unrolling by directive
The UNROLL Directive
- math library
–xlibmopt
- OPT directive
–xmaxopt[=n]
The OPT Directive
- PIPELOOP directive
The PIPELOOP[=n] Directive
- PREFETCH directive
The PREFETCH Directives
- specify cache
–xcache=c
- specify instruction set architecture
–xarch=isa
- specify processor
–xchip=c
- target hardware
–native
- with -fast
–fast
- with debugging
–g[n]
- options See
command-line options
- order of
- functions
–xF
- order of processing, options
Typographic Notations for Options
- overflow
- stack
–stackvar
- trap on floating-point
–ftrap=t
- overindexing
- aliasing
–xalias[=keywords]
P
- padding
–pad[=p]
- page size, setting stack or heap
–xpagesize_stack=size
–xpagesize_heap=size
–xpagesize=size
- parallelization
- automatic
–autopar
- directives
Parallelization Directives
- loop information
–loopinfo
- messages
–vpara
- OpenMP
–xopenmp[={parallel|noopt|none}]
OpenMP Parallelization Directives
- OpenMP directives summarized
Fortran OpenMP Directives
- reduction operations
–reduction
- parameters, global consistency, Xlist
–Xlist[x]
- passes of the compiler
–v
- path
- dynamic libraries in executable
–R
ls
- library search
–Lpath
- to standard include files
–Ipath
- Pentium
-xtarget Values on x86 Platforms
- performance
- optimization
–fast
- Oracle Developer Studio Performance Library
Oracle Developer Studio Performance Library
- performance library
–xlic_lib=sunperf
-library=sunperf
- PIPELOOP directive
The PIPELOOP[=n] Directive
- pointee
Cray Pointers
- pointer
Cray Pointers- aliasing
–xalias[=keywords]
- position-independent code
–PIC
–pic
- POSIX library, not supported
Incompatibility Issues
- POSIX threads
-mt[={yes|no}]
- pragma See
directives
- precision on x86
- -fprecision
–fprecision={single|double|extended}
- -fstore
–fstore
- PREFETCH directive
The PREFETCH Directives
The PREFETCH Directives
The PREFETCH Directives
- preprocessor, source file
- define symbol
–Dname[=def]
- force -fpp
–fpp
- fpp, cpp
Source File Preprocessors
- specify with -xpp=p
–xpp={fpp|cpp}
- undefine symbol
–Uname
- processor
- specify target processor
–xchip=c
- profile data path map
–xprofile_pathmap=collect_prefix:use_prefix
- profiling
- -pg, -gprof
–pg
- -xprofile
–xprofile=p
R
- range of subscripts
–C
- recursive subprograms
–xrecursive
- release history
Features Release History
- reorder functions
–xF
- rounding
–fsimple[={1|2|0}]
–fround={nearest|tozero|negative|positive}
S
- search
- object library directories
–Lpath
- shared library
- build, -G
–G
- disallow linking, -dn
–d{y|n}
- name a shared library
–hname
- pure, no relocations
–ztext
- shell
- limits
Control of Virtual Memory
- SIGFPE, floating-point exception
–fnonstd
- size of compiled code
–xspace
- Solaris threads
-mt[={yes|no}]
- source file
- preprocessing
Source File Preprocessors
- source format
- mixing format of source lines (f95)
Mixing Forms
- options (f95)
Source Form Assumed
- source lines
- extended
–e
- fixed-format
–fixed
- free-format
–free
- line length
Fixed-Form Source Lines
- preprocessor
–xpp={fpp|cpp}
- SPARC platform
- cache
–xcache=c
- chip
–xchip=c
- code address space
-xcode[=v]
- instruction set architecture
-xarch keywords common to both SPARC and x86 platforms
- stack
- increase stack size
–stackvar
- overflow
–stackvar
- setting page size
–xpagesize_stack=size
–xpagesize_heap=size
–xpagesize=size
- standard
- include files
–Ipath
- standard numeric sequence type
–aligncommon[={1|2|4|8|16}]
- standards
- conformance
Standards Conformance
- identify non-ANSI extensions, -ansi flag
–ansi
- static
- binding
–d{y|n}
- STOP statement, return status
–stop_status[={yes|no}]
- stream I/O
Fortran 2003 Stream I/O
- strict (interval arithmetic)
–xinterval[={widestneed|strict|no}]
- strip executable of symbol table, s
–s
- suffix
- of file names recognized by compiler
Source Form Assumed
Command-Line File Name Conventions
- suppress
- implicit typing
–u
- linking
–c
- warnings
–w[n]
- warnings by tag name, -erroff
–erroff[={%all|%none|taglist}]
- swap space
- display actual swap space
Swap Space Limits
- limit amount of disk swap space
Memory Size
- swap command
Swap Space Limits
- symbol table
- for dbx
–g[n]
-g
- syntax
- command line options
Options Syntax
- compiler command line
Command Syntax
- f95 command
Command Syntax
Invoking the Compiler
- system.inc
Library Interfaces and system.inc
T
- tab
- form source tab
Tab Form
- tape I/O, not supported
Incompatibility Issues
- tcov
- -xprofile
–xprofile=p
- templates, inline
–libmil
- temporary files, directory for
–temp=dir
- traceback
–traceback[={%none|common|signals_list}]
- trapping
- floating-point exceptions
–ftrap=t
- on memory
–xsafe=mem
- type declaration alternate form
Abbreviated Size Notation for Numeric Data Types
U
- ulimit command
Control of Virtual Memory
- underflow
- gradual
Subnormal REAL and DOUBLE
- trap on floating-point
–ftrap=t
- underscore
–ext_names=e- do not append to external names
The C Directive
- UNROLL directive
The UNROLL Directive
- usage
- compiler
Invoking the Compiler
- utilities
Other Fortran Utilities
V
- variables
- alignment
Size and Alignment of Data Types
- local
–stackvar
- undeclared
–u
- VAX VMS Fortran extensions
STRUCTURE and UNION (VAX Fortran)
–vax=keywords
- version
- id of each compiler pass
–V
W
- warnings
- message tags
–errtags[={yes|no}]
- suppress messages
–w[n]
- suppress with -erroff
–erroff[={%all|%none|taglist}]
- undeclared variables
–u
- use of non-standard extensions
–ansi
- weak linker symbols
The WEAK Directive
- WEAK directive
The WEAK Directive
- widestneed (interval arithmetic)
–xinterval[={widestneed|strict|no}]