A preprocessing directive of the form
# line digit-sequence new-line
causes the implementation to behave as if
the following sequence of source lines begins with a
source line that has a line number as specified
by the digit sequence (interpreted as a decimal integer)
. If the digit sequence specifies zero
or a number greater than 2147483647,
the behavior is undefined
.A preprocessing directive of the form
# line pp-tokens new-line
(that does not match one of the two previous forms)
is permitted
. The preprocessing tokens after
line
on the directive are processed just as in normal text
(each identifier currently defined as a macro name is replaced by its
replacement list of preprocessing tokens)
. If the directive resulting after all replacements does not match
one of the two previous forms, the behavior is undefined;
otherwise, the result is processed as appropriate
.