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
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
Also see the ISO/IEC 9899 Standard.
UNROLL_FACTOR Pragma
#pragma UNROLL_FACTORn #pragma UNROLLn #pragma UNROLL (n)
This
A user specified unroll factor will override the default unroll factor applied by the compiler.
Specifying n=1 will prevent the compiler from unrolling the loop.
Specifying n=0 allows the compiler to use its own heuristics to apply the unroll factor.
Note that this option has no effect on loop
NOTE: UNROLL_FACTOR pragma will be ignored if it is placed in a loop other than the innermost loop. The UNROLL pragma must be immediately followed with a loop statement and will be ignored if it is not an innermost loop.
OMP ATOMIC Pragma
#pragma omp atomic
where
•x binop = expr
•x++
•++x
•
•
Here, x is an lvalue expression with scalar type and expr is an expression with scalar type that does not reference the object designated by x.
110 Pragma Directives and Attributes