/[no]fpscomp

Syntax:

/fpscomp[:keyword...] or /nofpscomp

The /fpscomp option controls whether certain aspects of the run-time system and semantic language features within the compiler are compatible with Visual Fortran or Microsoft Fortran PowerStation.

If you experience problems when porting applications from Fortran PowerStation, specify /fpscomp:keyword (or /fpscomp:all). When porting applications from Compaq Fortran, use /fpscomp:none or /fpscomp:libs (the default).

In the visual development environment, specify the PowerStation 4.0 Compatibility Options in the Compatibility Compiler Option Category. The /fpscomp options and their visual development environment names are:

/fpscomp:[no]filesfromcmd
(Filenames from Command Line)
/fpscomp:[no]general
(Other Run-time Behavior)
/fpscomp:[no]ioformat
(I/O Format)
/fpscomp:[no]ldio_spacing
(List Directed I/O Spacing)
/fpscomp:[no]libs
(Libraries)
/fpscomp:[no]logicals
(Logical Values)
/fpscomp:[no]symbols
(Predefined Preprocessor Symbols)
/fpscomp:all and /fpscomp
/nofpscomp or /fpscomp:none

/fpscomp:[no]filesfromcmd

Specifying /fpscomp:filesfromcmd for a file where the OPEN statement FILE specifier is blank (FILE=' '), requests that the following actions be taken at run-time:

Specifying /fpscomp:nofilesfromcmd disables the run-time system from using the filename specified on the command line when the OPEN statement FILE specifier is omitted, allowing the application of default directory, file name, and extensions like Compaq Fortran, such as the FORTn environment variable and the FORT.n file name (where n is the unit number).

Specifying /fpscomp:filesfromcmd affects the following Fortran features:

For more information about running Visual Fortran programs with the /fpscomp:filesfromcmd option or the use of alternative routines, see Running Fortran Applications.

/fpscomp:[no]general

Specifying /fpscomp:[no]general controls which run-time behavior is used when a difference exists between Visual Fortran and Microsoft Fortran PowerStation and either semantic must remain available for compatibility reasons:

This affects the following Fortran features:

/fpscomp:[no]ioformat

Controls which run-time behavior is used for the semantic format for list-directed formatted I/O and unformatted I/O. Specify /fpscomp:ioformat to request Microsoft Fortran PowerStation semantic conventions and record formats (see Microsoft Fortran PowerStation Compatible Files). Specify /fpscomp:noioformat to request Compaq Fortran semantic conventions. This affects the following Fortran features:

/fpscomp:[no]ldio_spacing

For list-directed output, controls whether a blank is inserted at run-time after a numeric value before a character value (undelimited character string). The default is /fpscomp:noldio_spacing, which conforms to the Fortran 95 standard by inserting a blank after a numeric value before a character value. To request non-standard behavior for compatibility with Microsoft Fortran PowerStation and Visual Fortran releases before Version 6.6, either specify /fpscomp:ldio_spacing or specify /fpscomp:general, which sets /fpscomp:ldio_spacing.

/fpscomp:[no]libs

Controls whether the library dfport.lib (Portability library) is passed to the compiler and linker. The default is /fpscomp:libs, which passes this library. Specifying /fpscomp:nolibs does not pass this library.

/fpscomp:[no]logicals

Controls the value used for logical true. Microsoft Fortran PowerStation and Compaq Fortran with the /fpscomp:logical option set uses any non-zero value (default is 1) for true. Compaq Fortran with the /fpscomp:nological option set only looks at the low bit of the value, using a -1 for true. Differences can occur when a logical is stored into an integer. Both use 0 (zero) for false.

This affects the results of all logical expressions and affects the return value for the following Fortran features:

/fpscomp:[no]symbols

Adds one or more symbols related to Microsoft Fortran PowerStation to preprocessor and compiler invocations. The symbol currently set by specifying /fpscomp:symbols is _MSFORTRAN_=401.

/fpscomp:all and /fpscomp

Enable full Microsoft Fortran PowerStation compatibility or /fpscomp:(filesfromcmd,general,ioformat,ldio_spacing,libs,logicals,symbols).

/nofpscomp or /fpscomp:none

Enables full Compaq Fortran compatibility or /fpscomp:(nofilesfromcmd,nogeneral,noioformat,noldio_spacing,nolibs,nologicals,nosymbols).

If you omit /fpscomp, the default is /fpscomp:libs.

The /fpscomp and /vms options are not allowed in the same command.