STDC CX_LIMITED_RANGE Pragma

#pragma STDC CX_LIMITED_RANGE ON

#pragma STDC CX_LIMITED_RANGE OFF

This pragma enables limited range mathematical behavior for specific blocks of code. Note that, this pragma applies to complex arithmetic only. Also see the ISO/IEC 9899 Standard.

This pragma can occur outside an external declaration or within a compound statement. When outside external declarations, the pragma takes effect from its occurrence until another STDC CX_LIMITED_RANGE pragma is encountered or until the end of the translation unit. When within a compound statement, the pragma takes effect from its occurrence until another STDC CX_LIMITED_RANGE pragma is encountered within a nested compound statement, or until the end of the compound statement.

If this pragma is used in any other context, the behavior is undefined. The default state is off.

STDC FLOAT_CONST_DECIMAL64 Pragma

#pragma STDC FLOAT_CONST_DECIMAL64 [ON OFF DEFAULT]

With this pragma set to OFF, unsuffixed floating-point constants are treated as having type double.

With this pragma set to ON, unsuffixed floating-point constants are treated as having type _Decimal64.

The pragma can occur in either of these two contexts:

Outside external declarations

In this case, the pragma takes effect from its occurrence until another

FLOAT_CONST_DECIMAL64 pragma is encountered, or until the end of the translation unit.

Preceding all explicit declarations and statements inside a compound statement.

In this case, the pragma takes effect from its occurrence until another

FLOAT_CONST_DECIMAL64 pragma is encountered (including 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 just before the compound statement.

If this pragma is used in any other context, the behavior is undefined. The default state for the pragma is OFF.

For more information on using Decimal FP, see the HP aC++/HP ANSI C Release Notes section "Decimal floating-point arithmetic supported" under "New Features in the A.06.20 Release."

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.

Other Pragmas 109

Page 109
Image 109
HP C/aC++ for PA-RISC Software manual Stdc Cxlimitedrange Pragma, Stdc FLOATCONSTDECIMAL64 Pragma, Stdc Fpcontract Pragma