HP aC++/HP C A.06.20 Programmer's Guide
FREQUENTLY_CALLED Pragma
#pragma FREQUENTLY_CALLED [symbol{,symbol}]
This file-scoped pragma identifies functions that are frequently called within the
application. The pragma must be placed prior to any definition of or reference to the
named function. If not, the behavior is undefined. FREQUENTLY_CALLED pragma is
independent of +Oprofile=use in that it overrides any dynamically obtained profile
information.
HDR_STOP Pragma
#pragma HDR_STOP
This pragma instructs the compiler to stop precompiling headers.
HIDDEN Pragma
#pragma hidden [symbol{,symbol}]
The specified symbols, or all symbols (if no symbols are specified), are assigned the
hidden export class. The hidden export class is similar to the protected export class.
These symbols will not be preempted by symbols from other load modules, so the
compiler may bypass the linkage table for both code and data references and bind them
to locally defined code and data symbols.
In addition, hidden symbols will not be exported outside the current load module. The
linker may eliminate them from a shared library, but in an executable, they remain
accessible to the debugger unless -Oprocelim is also specified. This is the pragma
equivalent of -Bhidden and is global in scope.
HP_DEFINED_EXTERNAL Pragma
#pragma HP_DEFINED_EXTERNALname1[,name2,...nameN]
The specified symbols, or all undefined symbols (if no list is provided), are assigned
to the default export class. Additionally, the compiler will inline the import stub for
calls to these symbols. No compile time binding of these symbols will be done. All
references to these symbols will be through the linkage table, so an unnecessary
performance penalty will occur if extern is applied to a listed symbol that is resolved
in the same load module. This is the pragma equivalent of -Bextern and is global in
scope.
This pragma is equivalent to #pragma EXTERN.
HP_DEFINED_INTERNAL Pragma
#pragma HP_DEFINED_INTERNALname1[,name2,...nameN]
The specified symbols, or all symbols (if no symbols are specified), are assigned the
protected export class. That means these symbols will not be preempted by symbols
from other load modules, so the compiler may bypass the linkage table for both code
Other Pragmas 139