HP Fortran Programmer Guide HP-UX 11i v1, HP-UX 11i v2, and HP-UX 11i v3 (B3908-90032,December 2012)

The default is to place COMMON blocks larger than two gigabytes
(2147483648 bytes) into huge data segments; that is,
+hugesize=2097152is the default.
For example: % f90 +hugesize=1024 hello.f90
specifies that COMMON blocks larger than 1048576 bytes (1
megabyte) should be placed into a huge data segment.
If a common block is specified as huge in one object file, it must be
specified huge in all object files. If it is not, the program will fail to link.
PA2.0W objects cannot be combined with 32-bit object files. 64-bit
applications will only execute on PA8000-based systems.
NOTE: +hugesizeand +hugecommonoptions are not valid on HP
Itanium ®-based systems.
+i2changes 4-byte integer and logical constants, intrinsics, and user
variables to 2-byte integers (rather than the 4-byte default).
+i2
+i8changes 4-byte integer and logical constants, intrinsics, and user
variables to 8-byte integers (rather than the 4-byte default).
+i8
Specifies incremental linking. This option is valid only for 64-bit links.+ild
If the output file does not exist, or if it was created without the +ild option,
the linker performs an initial incremental link. The output file produced
is suitable for subsequent incremental links. The incremental link option
is valid for both executable and shared library links. It is not valid for
relocatable links, options (or tools) that strip the output module, and
certain optimization options. See ld(1)for more information.
Perform an initial incremental link, regardless of the output load module.
This option is valid only for 64-bit links.
+ildrelink
In certain situations during incremental linking (for example, internal
padding space is exhausted), the incremental linker is forced to perform
an initial incremental link. The +ildrelinkoption allows you to avoid
such unexpected initial incremental links by periodically rebuilding the
output file.
-Ispecifies a directory where .mod files and files named in the INCLUDE
line or in #include directives may be found if their name is a relative
-Idirectory
pathname—that is, does not begin with a slash (/). Directories are
searched in the following order:
The current source directory—that is, the directory containing the file
with the INCLUDEline or #include.
Directories specified by the -Ioption, in the order specified
The current working directory
The /usr/include directory
+implicit none forces the types of identifiers to be implicitly undefined.
This is equivalent to specifying IMPLICIT NONE for each program unit
+[no]implicit_none
in each file in the files list. The source code that is to be compiled with
this option may contain other IMPLICIT statements; the statements will
be honored. The default, +noimplicit_none, allows identifiers to be
implicitly defined.
The common blocks listed in file (one per line, no enclosing ‘ / ‘s) are
treated as shared common blocks, but are not attached. The user must
+indirectcommonlist=file
attach or otherwise allocate storage for such common blocks before they
are referenced.
A C language program would typically be used to either attach a shared
memory segment, or malloc a block of memory, and store that address
into the external symbol for the common block. All Fortran code that
references such a common block will indirect through the address in the
external symbol for that indirect common block.
28 Compiling and linking