Example 4 % f90 +hugecommon=results pcvals.f90

 

 

 

places the COMMON block named results into a huge data segment. +hugecommonis especially

 

useful when a program contains several different COMMON blocks that together occupy more

 

than two gigabytes but individually occupy less than two gigabytes. In this situation, the largest

 

COMMON blocks could be placed in a huge data segment when the program is compiled by

 

specifying their names in multiple +hugecommon options.

 

 

 

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.

 

NOTE: PA2.0W objects cannot be combined with 32-bit object files. 64-bit applications will

 

only execute on PA8000-based systems.

+hugesize

+hugesize instructs the compiler to place COMMON blocks that are

 

larger than the specified size into a huge data segment. The format for

 

this option is: +hugesize=n

 

where n is the size in kilobytes (1024 bytes).

 

The default is to place COMMON blocks larger than two gigabytes

 

(2147483648 bytes) into huge data segments; that is,

 

+hugesize=2097152 is 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 +hugecommon options are not valid on HP

 

Itanium ®-based systems.

+i2

+i2 changes 4-byte integer and logical constants, intrinsics, and user

 

variables to 2-byte integers (rather than the 4-byte default).

+i8

+i8 changes 4-byte integer and logical constants, intrinsics, and user

 

variables to 8-byte integers (rather than the 4-byte default).

+ild

Specifies incremental linking. This option is valid only for 64-bit links.

 

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.

+ildrelink

Perform an initial incremental link, regardless of the output load module.

 

This option is valid only for 64-bit links.

 

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.

-Idirectory

-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

 

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

Command-line options 29