HP Fortran Programmer's Guide (B3908-90031; September 2011)

Compiling and linking
Compiling with the f90 command
Chapter 234
If you want to keep the output from the C preprocessor, use the +cpp_keep option.
+[no]cpp_keep
+cpp_keep causes the compiler to retain the output from the C preprocessor. If the
source filename is file.f or file.F, the output filename is file.i; if the source
filename is file.f90, the output filename is file.i90. The compiler will accept
source files with the .i and .i90 extensions.
The default, +nocpp_keep, is to discard the output file.
Note that this option does not pass source files to the C preprocessor. To do that, you
must also specify the +cpp=yes option.
-D name[=def]
-D defines a symbol name (name) to the C preprocessor. If you do not provide a
definition (def) for the symbol name, name is defined as 1. This option applies only to
files that are passed to the C preprocessor.
+DAmodel
+DA generates object code for a particular version of the PA-RISC architecture. By
default, the compiler generates code for the machine model you are compiling on. With
this option, you can override the default, causing the compiler to generate code for the
machine on which the program will execute rather than for the machine on which it is
compiled.
model can be one of the following:
A PA-RISC version number (1.1 or 2.0)
A model number (for example, 750 or 870)
One of the PA-RISC processor names (for example, PA7000, PA7100, or PA8000)
The word portable, which causes the compiler to generate code that is
compatible across all PA-RISC 1.1 and 2.0 systems
For best performance, use +DA with the model number or architecture of the machine on
which you plan to execute the program.
The +DA option also specifies the appropriate search path for HP-UX math libraries. If
your program calls mathematical functions, +DA2.0 links in the PA2.0 version of the
math library, while +DA1.1 links in the PA1.1 library version. (For more information
about using math libraries, see the HP-UX Floating-Point Guide.)
With +DA2.0W, memory addresses are 64-bit values. This allows common blocks and
dynamically allocated memory to exceed 32-bit address limits. This feature is restricted
by the available virtual memory on the system where the application is run.