Categories of Compiler Options

If you will be using the compiler and linker from the command line, specify the options needed on the DF command line (as described in Using the Compiler and Linker from the Command Line). You can use the functional categories of options below to locate the options needed for your application.

If you will be using the compiler and linker from the Microsoft visual development environment, select the options needed by using the various tabs in the Project menu Settings item (see Project Settings). The following graphic shows a sample Fortran tab:

Project Settings, Fortran Tab

project settings, fortran tab

The options are grouped under functional categories (the initial Category is General, as shown) to help you locate the options needed for your application. From the Fortran tab, you can select one of the following categories from the Category drop-down list (exception: those options listed in the Miscellaneous category below):

General Code Generation
Compatibility Compilation Diagnostics
Debug External Procedures
Floating Point Fortran Data
Fortran Language Libraries
Listing Files Miscellaneous
Optimizations Preprocessor
Run-Time

If a compiler option is not available in the dialog boxes, you can enter the option in the lower part of the Project Settings dialog box just as you would at the command line (under Project Options:).

The following tables list the Visual Fortran compiler options by category in the Fortran tab:

General-Purpose Options

Debugging Level /[no]debug
Warning Level /warn
Optimization Level /[no]optimize
Predefined Preprocessor Symbols /define
Generate Source Browse Information /[no]browser[:file]

Code Generation Options

Generate Most-Optimized Code /[no]fast (changes multiple options)
Enable Recursive Routines /[no]recursive
Object text string inserted into object file /bintext:string
Math Library: Checking or Fast Performance /math_library
Generate Code for xxx Chip /architecture

Compatibility Options (See also Fortran Data)

Unformatted File Conversion (Nonnative Data) /convert (also see /assume:[no]byterecl)
Enable VMS Compatibility /[no]vms
Enable F77 Run-Time Compatibility /[no]f77rtl
Use F77 Integer Constants /[no]intconstant
Microsoft Fortran PowerStation V4 Compatibility Options /[no]fpscomp (various keywords listed below)
Microsoft Fortran PowerStation: Filenames from Command Line /fpscomp:[no]filesfromcmd
Microsoft Fortran PowerStation: I/O Format /fpscomp:[no]ioformat
Microsoft Fortran PowerStation: Libraries /fpscomp:[no]libs
Microsoft Fortran PowerStation: List Directed I/O Spacing /fpscomp:[no]ldio_spacing
Microsoft Fortran PowerStation: Logical Values /fpscomp:[no]logicals
Microsoft Fortran PowerStation: Other Run-time Behavior /fpscomp:[no]general
Microsoft Fortran PowerStation: Predefined Preprocessor Symbols /fpscomp:[no]symbols

Compilation Diagnostic Options

Compilation Error Limit /[no]error_limit
Warning Levels (Ignore, Normal, Treat Warnings as Errors) /warn:nogeneral, default settings, or /warn:errors
Fortran Standards Checking (None, Fortran 90, or Fortran 95) /stand:keyword
Treat Fortran Standard Warnings as Errors /warn:[no]stderrors
Argument Mismatch /warn:[no]argument_checking
Data Alignment /warn:[no]alignments
Inform when Compiling Files Separately (effect on interprocedure optimization) /warn:[no]fileopt
Truncated Source /warn:[no]truncated_source
Uncalled Routines /warn:[no]uncalled
Undeclared Variables/Symbols /warn:[no]declarations
Uninitialized Variables /warn:[no]uninitialized
Unused Variables /warn:[no]unused
Usage (Fortran language) /warn:[no]usage

Debug Options

Debugging Level (None, Minimal, Partial, Full) /[no]debug
Compile Lines With D in Column 1 /[no]d_lines
Use Program Database for Debug Information and File Name /[no]pdbfile[:file]

External Procedures (and Argument Passing) Options

Argument Passing Conventions /[no]iface:keyword
External Names Case Interpretation /names:keyword
String Length Argument Passing /[no]iface:mixed_str_len_arg
Append Underscore to External Names /assume:[no]underscore

Fortran Data Options (See also Compatibility)

Default REAL and COMPLEX Kind /real_size:num
Default INTEGER and LOGICAL Kind /integer_size:num
Append Underscore to External Names (under Data Options) /assume:[no]underscore
Enable Dummy Arguments Sharing Memory Locations /assume:[no]dummy_aliases
Extend Precision of Single-Precision Constants /[no]fpconstant
Use Bytes as RECL= Unit for Unformatted Files /assume:[no]byterecl
Variables Default to Automatic or Static Storage /[no]automatic or /[no]static
Common Element Alignment /[no]alignment:[no]common
Structure Element Alignment (Derived Type and Record Data) /alignment:[no]records
Allow SEQUENCE Types to be Padded for Alignment /alignment:[no]sequence

Floating-Point Options (See also Optimizations)

Floating-Point Exception Handling /fpe
Enable Floating-Point Consistency /[no]fltconsistency (ia32 only)
Extend Precision of Single-Precision Constants /[no]fpconstant
Enable IEEE Minus Zero Support /assume:[no]minus0

Fortran Language Options

Enable FORTRAN 66 Semantics /[no]f66
Enable Alternate PARAMETER Syntax /[no]altparam
Name Case Interpretation /names:keyword
Source Form (File Extension, Fixed Form, or Free Form) /[no]free or /[no]fixed
Fixed-Form Line Length /[no]extend_source
Pad Fixed-Form Source Records /[no]pad_source

Library Options (See also External Procedures)

Enable Reentrancy Support /[no]reentrancy
Use Run-Time Libraries, DLL version /libs:dll
Use Run-Time Libraries, Static library version /libs:static
Use Run-Time Libraries, QuickWin version /libs:qwin
Use Run-Time Libraries, Standard Graphics version /libs:qwins
Use Run-Time Libraries, Debug version /[no]dbglibs
Use Run-Time Libraries, Multi-Threaded version /[no]threads
Disable Default Library Search Rules /libdir:noauto
Disable OBJCOMMENT Library Names in Object /libdir:nouser
Use Common Windows Libraries /winapp
Use Compaq Extended Math Library (CXML) /cxml
Use IMSL Math Libraries /imsl

Listing and Assembly File Options

Source Listing /[no]list
Contents of Source Listing File /show:keyword... or /[no]machine_code
Annotations /annotations:keyword
Assembly Listing /[no]asmfile [:file] and /[no]asmattributes

Miscellaneous Linker Tab and Command-Line Options (Not Listed in Fortran Tab)

Specify Linker Options (after /link) /link (use Linker tab)
Generate Link Map /[no]map (use Linker tab)
Compile, Do Not Link /compile_only or /c (use Compile in Build menu)
Create Dynamic Link Library (DLL project type) /dll and Specifying Project Types with DF Command Options
Software Instruction Scheduling /[no]pipeline (ia64 only; command line only)
Display Help Text File /help or /? (command line only)
Specify Custom File Extension for Compiler /source (command line only)
Specify Custom File Extension for Compiler /extfor (command line only)
Specify Custom File Extension for Linker /extlnk (command line only)
Create one object file for each input source file /[no]keep (command line only)
Name of Executable Program or DLL File /[no]exe[:file] (command line only)
Name of Object File /[no]object[:file] (command line only)
Perform Syntax Check Only (No Object File) /[no]syntax_only (command line only)
Display Copyright and Compiler Version /nologo and /what (command line only)
Display Compilation Details /[no]watch (command line only)
Write C-Style Comments for FPP /comments (command line only; for FPP)
Specify Custom File Extension for FPP /extfpp (command line only)
Only Preprocess FPP Files /preprocess_only (command line only)
Undefine Preprocessor Symbols /undefine (command line only)

Optimization Options (See also Code Generation)

Optimization Level /[no]optimize
Variables Default to Automatic Storage /[no]automatic
Enable Dummy Arguments Sharing Memory Locations /assume:[no]dummy_aliases
Transform Loops /[no]transform_loops
Enable I/O Buffering /assume:[no]buffered_io
Loop Unrolling /unroll
Math Library: Checking or Fast Performance /math_library
Inlining Procedures /[no]inline
Code Tuning for xxx chip /tune
Allow Reordering of Floating-Point Operations /assume:[no]accuracy_sensitive
Software Instruction Scheduling /[no]pipeline (ia64 only; command line only)

Preprocessor Options

Define Preprocessor Symbols /define
Default INCLUDE and USE Path /assume:[no]source_include
Module path (to place module files) /module[:file]
INCLUDE and USE Path /[no]include
Use FPP and specify options /fpp[:"options"]
Predefined Preprocessor Symbols to FPP Only /nodefine

Run-Time Options

Generate Traceback Information /[no]traceback
Default Output Carriage Control /ccdefault:keyword
Array and String Bounds /check:[no]bounds
Integer Overflow /check:[no]overflow
Floating-Point Underflow /check:[no]underflow
Power Operations /check:[no]power
Edit Descriptor Data Type /check:[no]format
Flawed Pentium® Chip /check:[no]flawed_pentium (ia32 only)
Edit Descriptor Data Size /check:[no]output_conversion

For a table of DF command options listed alphabetically, see Compiler Options, Alphabetic List.