HP aC++/HP C Programmer's Guide (B3901-90036; A.06.26; September 2011)
This block-scoped pragma instructs the compiler to If-Convert the current scope. There is
no command-line option equivalent.
If-Conversion is a compiler process that eliminates conditional branches by the use of
predicates. The compiler is instructed to If-Convert all non-loop control flow nested within
the current block.
Without this pragma, the compiler would employ its own heuristics to determine whether
to perform If-Conversion. With this pragma, If-Conversion is always performed.
If-Convert can be specified in a loop containing conditional branches other than the
loop-back branch. This makes it more likely the compiler will modulo schedule the loop,
as loops containing conditional branches cannot be modulo scheduled. The pragma can
also be used for non-looping constructs.
POP Pragma
#pragma POP
The last pushed pragma is removed from the pragma stack and state is restored. The
binding state reverts to the binding state prior to the last push. Note that this pragma
can only be used with the blanket binding pragmas.
Pragma (once)
_Pragma ("once")
The _Pragma ("once") operator is equivalent to #pragma once. This operator
ensures that the source file is included only once during compilation.
PROTECTED Pragma
#pragma PROTECTED [symbol {,symbol}]
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
and data references and bind them to locally defined code and data symbols. This
pragma is equivalent to -Bprotected and is global in scope.
PTRS_STRONGLY_TYPED Pragma
#pragma [NO]PTRS_STRONGLY_TYPED {BEGIN | END}
This pragma turns strong pointer type testing on and off When turned on (BEGIN) if a
pointer typing error is detected, it will generate a warning if the typing error can be
safely ignored. If the typing error cannot be safely ignored, it will generate a warning
and flag the compilation appropriately, or if this is not possible, it will generate an error.
This feature is disabled using the END attribute..
Other Pragmas 131