|
80 | 80 |
|
81 | 81 | \begin{bnf}\obeyspaces
|
82 | 82 | \nontermdef{elif-group}\br
|
83 |
| - \terminal{\# elif } constant-expression new-line \opt{group} |
| 83 | + \terminal{\# elif } constant-expression new-line \opt{group}\br |
| 84 | + \terminal{\# elifdef } constant-expression new-line \opt{group}\br |
| 85 | + \terminal{\# elifndef} constant-expression new-line \opt{group} |
84 | 86 | \end{bnf}
|
85 | 87 |
|
86 | 88 | \begin{bnf}\obeyspaces
|
|
399 | 401 | \end{floattable}
|
400 | 402 |
|
401 | 403 | \pnum
|
402 |
| -The \tcode{\#ifdef} and \tcode{\#ifndef} directives, and |
| 404 | +The |
| 405 | +\tcode{\#ifdef}, \tcode{\#ifndef}, \tcode{\#elifdef}, and \tcode{\#elifndef} |
| 406 | +directives, and |
403 | 407 | the \tcode{defined} conditional inclusion operator,
|
404 | 408 | shall treat \xname{has_include} and \xname{has_cpp_attribute}
|
405 | 409 | as if they were the names of defined macros.
|
|
491 | 495 | \pnum
|
492 | 496 | Preprocessing directives of the forms
|
493 | 497 | \begin{ncsimplebnf}\obeyspaces
|
494 |
| -\terminal{\# ifdef } identifier new-line \opt{group}\br |
| 498 | +\terminal{\# ifdef } identifier new-line \opt{group}\br |
495 | 499 | \indextext{\idxcode{\#ifdef}}%
|
496 |
| -\terminal{\# ifndef } identifier new-line \opt{group} |
| 500 | +\terminal{\# ifndef } identifier new-line \opt{group}\br |
497 | 501 | \indextext{\idxcode{\#ifndef}}%
|
| 502 | +\terminal{\# elifdef } identifier new-line \opt{group}\br |
| 503 | +\indextext{\idxcode{\#elifdef}}% |
| 504 | +\terminal{\# elifndef} identifier new-line \opt{group} |
| 505 | +\indextext{\idxcode{\#elifndef}}% |
498 | 506 | \end{ncsimplebnf}
|
499 | 507 | check whether the identifier is or is not currently defined as a macro name.
|
500 | 508 | Their conditions are equivalent to
|
501 |
| -\tcode{\#if} |
502 |
| -\tcode{defined} |
503 |
| -\grammarterm{identifier} |
504 |
| -and |
505 |
| -\tcode{\#if} |
506 |
| -\tcode{!defined} |
507 |
| -\grammarterm{identifier} |
| 509 | +\tcode{\#if} \tcode{defined} \grammarterm{identifier}, |
| 510 | +\tcode{\#if} \tcode{!defined} \grammarterm{identifier}, |
| 511 | +\tcode{\#elif} \tcode{defined} \grammarterm{identifier}, and |
| 512 | +\tcode{\#elif} \tcode{!defined} \grammarterm{identifier}, |
508 | 513 | respectively.
|
509 | 514 |
|
510 | 515 | \pnum
|
|
0 commit comments