Skip to content

Commit 8384ae9

Browse files
burblebeetkoeppe
authored andcommitted
CWG2937 Grammar for preprocessing-file has no normative effect
1 parent 716c99a commit 8384ae9

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

source/lex.tex

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -162,7 +162,8 @@
162162
directive\iref{cpp.include}.
163163
\end{example}
164164

165-
\item Preprocessing directives\iref{cpp} are executed, macro invocations are
165+
\item The source file is analyzed as a \grammarterm{preprocessing-file}\iref{cpp.pre}.
166+
Preprocessing directives\iref{cpp} are executed, macro invocations are
166167
expanded\iref{cpp.replace}, and \tcode{_Pragma} unary operator expressions are executed\iref{cpp.pragma.op}.
167168
A \tcode{\#include} preprocessing directive\iref{cpp.include} causes the named header or
168169
source file to be processed from phase 1 through phase 4, recursively.
@@ -183,7 +184,8 @@
183184
token\iref{lex.token}. The resulting tokens
184185
constitute a \defn{translation unit} and
185186
are syntactically and
186-
semantically analyzed and translated.
187+
semantically analyzed as a \grammarterm{translation-unit}\iref{basic.link} and
188+
translated.
187189
\begin{note}
188190
The process of analyzing and translating the tokens can occasionally
189191
result in one token being replaced by a sequence of other

0 commit comments

Comments
 (0)