|
275 | 275 | semantics. |
276 | 276 |
|
277 | 277 | \pnum |
| 278 | +If one of the \grammarterm{pp-tokens} of a \tcode{\#embed} directive |
| 279 | +(before macro replacement) is the \grammarterm{identifier} |
| 280 | +\tcode{limit}, \tcode{prefix}, \tcode{suffix}, or \tcode{if_empty} |
| 281 | +and that \grammarterm{identifier} is defined |
| 282 | +as a macro\iref{cpp.replace.general}, the program is ill-formed. |
278 | 283 | Any \grammarterm{embed-prefixed-parameter} is conditionally-supported, |
279 | 284 | with \impldef{supported forms of \#embed prefix parameters} semantics. |
280 | 285 |
|
|
480 | 485 | \tcode{assume} & \tcode{202207L} \\ |
481 | 486 | \tcode{deprecated} & \tcode{201309L} \\ |
482 | 487 | \tcode{fallthrough} & \tcode{201603L} \\ |
| 488 | +\tcode{indeterminate} & \tcode{202403L} \\ |
483 | 489 | \tcode{likely} & \tcode{201803L} \\ |
484 | 490 | \tcode{maybe_unused} & \tcode{201603L} \\ |
485 | 491 | \tcode{no_unique_address} & \tcode{201803L} \\ |
|
523 | 529 | \tcode{defined} |
524 | 530 | unary operator), |
525 | 531 | just as in normal text. |
| 532 | +If replacement of macros in the preprocessing tokens following the sequence |
| 533 | +\tcode{\xname{has_embed} (} and before a matching \tcode{)} |
| 534 | +(possibly produced by macro expansion) |
| 535 | +encounters a preprocessing token that is one of the \grammarterm{identifier}s |
| 536 | +\tcode{limit}, \tcode{prefix}, \tcode{suffix}, or \tcode{if_empty} |
| 537 | +and that \grammarterm{identifier} is defined |
| 538 | +as a macro\iref{cpp.replace.general}, the program is ill-formed. |
526 | 539 | If the preprocessing token |
527 | 540 | \tcode{defined} |
528 | 541 | is generated as a result of this replacement process |
|
929 | 942 | \end{example} |
930 | 943 |
|
931 | 944 | \pnum |
932 | | -The \tcode{\#embed} directive is replaced by a comma-delimited list of integer |
| 945 | +The \tcode{\#embed} directive is replaced by a comma-separated list of integer |
933 | 946 | literals of type \tcode{int}, unless otherwise modified by embed |
934 | 947 | parameters\iref{cpp.embed.param}. |
935 | 948 |
|
936 | 949 | \pnum |
937 | | -The integer literals in the comma-delimited list correspond to |
| 950 | +The integer literals in the comma-separated list correspond to |
938 | 951 | resource-count consecutive calls to \tcode{std::fgetc}\iref{cstdio.syn} |
939 | 952 | from the resource, as a binary file. |
940 | 953 | If any call to \tcode{std::fgetc} returns \tcode{EOF}, the program is |
|
0 commit comments