6.10.6 Pragma directive

Previous Table of Contents

1974 A preprocessing directive of the form

  # pragma pp-tokensopt new-line

where the preprocessing token STDC does not immediately follow pragma in the directive (prior to any macro replacement)149) causes the implementation to behave in an implementation-defined manner.

1975 The behavior might cause translation to fail or cause the translator or the resulting program to behave in a non-conforming manner.

1976 Any such pragma that is not recognized by the implementation is ignored.

1977 If the preprocessing token STDC does immediately follow pragma in the directive (prior to any macro replacement), then no macro replacement is performed on the directive, and the directive shall have one of the following forms150) whose meanings are described elsewhere:

  #pragma STDC FP_CONTRACT on-off-switch
  #pragma STDC FENV_ACCESS on-off-switch
  #pragma STDC CX_LIMITED_RANGE on-off-switch

on-off-switch: one of ON OFF DEFAULT

1978 Forward references: the FP_CONTRACT pragma (7.12.2), the FENV_ACCESS pragma (7.6.1), the CX_LIMITED_RANGE pragma (7.3.4).

1979 149) An implementation is not required to perform macro replacement in pragmas, but it is permitted except for in standard pragmas (where STDC immediately follows pragma).

1980 If the result of macro replacement in a non-standard pragma has the same form as a standard pragma, the behavior is still implementation-defined;

1981 an implementation is permitted to behave as if it were the standard pragma, but is not required to.

1982 150) See “future language directions” (6.11.8).

Next

Created at: 2005-06-29 02:19:04 The text from WG14/N1124 is copyright © ISO