A preprocessing directive consists of a sequence of
preprocessing tokens that begins with.
The first token in the sequence is a #
preprocessing token that (at the start of translation phase
4) is either the first character in the source file
(optionally after white space containing no new-line
characters) or that follows white space containing at least
one new-line character, and is ended by the
next. The last token in the sequence is the
first new-line character that follows the first token
in the sequence.140) A new-line character ends
the preprocessing directive even if it occurs within what
would otherwise be an invocation of a function-like
macro.

A preprocessing directive consists of a
sequence of preprocessing tokens that begins
withthat satisfies the following constraints.
The first token in the sequence is a #
preprocessing token that (at the start of translation phase
4) is either the first character in the source file
(optionally after white space containing no new-line
characters) or that follows white space containing at least
one new-line character, and is ended by the
next. The last token in the sequence is the
first new-line character that follows the first token
in the sequence.140) A new-line character ends
the preprocessing directive even if it occurs within what
would otherwise be an invocation of a function-like
macro.