HP aC++/HP C A.06.20 Programmer's Guide

STDC FP_CONTRACT Pragma
#pragma STDC FP_CONTRACT ON
#pragma STDC FP_CONTRACT OFF
This pragma tells the compiler whether or not it is permitted to contract expressions.
Also see ISO/IEC 9899 Standard.
Each pragma can occur either outside external declarations or preceding all explicit
declarations and statements inside a compound statement. When outside external
declarations, the pragma takes effect from its occurrence until another FP_CONTRACT
pragma is encountered, or until the end of the translation unit. When inside a compound
statement, the pragma takes effect from its occurrence until another FP_CONTRACT
pragma is encountered within a nested compound statement, or until the end of the
compound statement. At the end of a compound statement, the state for the pragma
is restored to its condition before the compound statement.
If this pragma is used in any other context, the behavior is undefined. The default state
is ON.
STDC FENV_ACCESS Pragma
#pragma STDC FENV_ACCESS ON
#pragma STDC FENV_ACCESS OFF
This pragma provides a means to inform the compiler when a program might access
the floating-point environment to test flags or run under non-default modes. Use of
the pragma allows certain optimizations that could subvert flag tests and mode changes
such as global common sub expression elimination, code motion, and constant folding.
The pragma can be placed either outside external declarations or preceding all explicit
declarations and statements inside a compound statement. When outside external
declarations, the pragma takes effect from its occurrence until another FENV_ACCESS
pragma is encountered or until the end of the translation unit. When inside a compound
statement, the pragma is in effect from its occurrence until another FENV_ACCESS
pragma is encountered within the nested compound statement or until the end of the
compound statement. At the end of a compound statement, the state for the pragma
is restored to its condition just before the compound statement.
If the pragma is used in any other context, the behavior is undefined. If part of a program
tests flags or runs under non-default mode settings but was translated with the state
for the FENV_ACCESS pragma off, then the behavior of the program is undefined.
Also see the ISO/IEC 9899 Standard.
UNROLL_FACTOR Pragma
#pragma UNROLL_FACTORn
#pragma UNROLLn
142 Pragma Directives and Attributes