|
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.
|
|
511 | 515 | \pnum
|
512 | 516 | Preprocessing directives of the forms
|
513 | 517 | \begin{ncsimplebnf}\obeyspaces
|
514 |
| -\terminal{\# ifdef } identifier new-line \opt{group}\br |
| 518 | +\terminal{\# ifdef } identifier new-line \opt{group}\br |
515 | 519 | \indextext{\idxcode{\#ifdef}}%
|
516 |
| -\terminal{\# ifndef } identifier new-line \opt{group} |
| 520 | +\terminal{\# ifndef } identifier new-line \opt{group}\br |
517 | 521 | \indextext{\idxcode{\#ifndef}}%
|
| 522 | +\terminal{\# elifdef } identifier new-line \opt{group}\br |
| 523 | +\indextext{\idxcode{\#elifdef}}% |
| 524 | +\terminal{\# elifndef} identifier new-line \opt{group} |
| 525 | +\indextext{\idxcode{\#elifndef}}% |
518 | 526 | \end{ncsimplebnf}
|
519 | 527 | check whether the identifier is or is not currently defined as a macro name.
|
520 | 528 | Their conditions are equivalent to
|
521 |
| -\tcode{\#if} |
522 |
| -\tcode{defined} |
523 |
| -\grammarterm{identifier} |
524 |
| -and |
525 |
| -\tcode{\#if} |
526 |
| -\tcode{!defined} |
527 |
| -\grammarterm{identifier} |
| 529 | +\tcode{\#if} \tcode{defined} \grammarterm{identifier}, |
| 530 | +\tcode{\#if} \tcode{!defined} \grammarterm{identifier}, |
| 531 | +\tcode{\#elif} \tcode{defined} \grammarterm{identifier}, and |
| 532 | +\tcode{\#elif} \tcode{!defined} \grammarterm{identifier}, |
528 | 533 | respectively.
|
529 | 534 |
|
530 | 535 | \pnum
|
|
0 commit comments