-Bhidden:filename

The file indicated by filename contains a list of symbols,

 

separated by spaces or newlines. These symbols are

 

assigned the hidden export class.

 

 

-Bprotected_data

Marks only data symbols as having the protected export

 

class.

 

 

-Bprotected_def

This is the same as-Bprotected, but only locally-defined

 

(non-tentative) symbols are assigned the protected export

 

class.

 

 

-Bsymbolic

All symbols are assigned the protected export class. This

 

is equivalent to -Bprotectedwith no symbol list.

 

 

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:

+O[no]optimization

where optimization is a parameter that specifies the

 

class of optimization to apply to your program. The

 

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.

+O[no]aggressive

+Oaggressive enables optimizations that can result in

 

significant performance improvement but can also change

 

 

38 Compiling and linking