HP Fortran Programmer Guide (766160-001, March 2014)

The file indicated by filename contains a list of symbols,
separated by spaces or newlines. These symbols are
assigned the hidden export class.
-Bhidden:filename
Marks only data symbols as having the protected export
class.
-Bprotected_data
This is the same as-Bprotected, but only locally-defined
(non-tentative) symbols are assigned the protected export
class.
-Bprotected_def
All symbols are assigned the protected export class. This
is equivalent to -Bprotected with no symbol list.
-Bsymbolic
Using optimization options
The options described in this section allow you to control the different optimizations that the compiler
can apply to your program. These options fall into two categories:
Options that control classes of optimization (for example, optimizations that affect code size)
Options that control specific optimizations (for example, inlining)
The following subsections describe the options in both categories. For information about the options
that control levels of optimization, see the description of the +On option in the on page 27. The
+O[no]info option, which provides compile-time information about the optimization process, is
described in the same section.
NOTE: You can insert (or remove) underscore characters in the names of any of the optimization
options to improve their readability. The compiler will recognize the option name with or without
underscores.
Reviewing general optimization options
The following options allow you to control how optimization affects code size, compilation time,
runtime performance, and other user-visible effects. The syntax for using these options is:
where optimization is a parameter that specifies the
class of optimization to apply to your program. The
+O[no]optimization
different parameters are described below. The prefix no
negates the effect of optimization.
Except for +Oall, +Ofast and +Ofaster the options do not override a specified level of
optimization, nor do they imply a particular level. (The +Oalloption automatically invokes the
highest level of optimization. +Ofast invokes +O2 level of optimization in addition to few other
specific flags described later. Whereas, +Ofaster invokes +O3 level of optimization). To use any
of these options you must also include the +On option on the same command line, where n specifies
the level at which the type of optimization is effective. Thus, if you wish to apply all optimizations
available at level 3 except those that might significantly increase code size, you would use the
command line:
f90 +O3 +Osize my_prog.f90
If an option is mistakenly used at a level at which the corresponding optimization is not performed,
the compiler will issue a warning message.
The defaults specified in the following descriptions are in effect only at the specified optimization
levels, unless stated otherwise.
+Oaggressive enables optimizations that can result in
significant performance improvement but can also change
+O[no]aggressive
38 Compiling and linking