preprocessing directive with no new-line character

Mathieu Malaterre mathieu.malaterre@gmail.com
Mon Jul 17 14:10:00 GMT 2017


On Mon, Jul 17, 2017 at 3:19 PM, Vincent Lefevre <vincent+gcc@vinc17.org> wrote:
> According to the C standard (either C99 or C11), a preprocessing
> directive ends with a new-line character: "The last token in the
> sequence is the first new-line character that follows the first
> token in the sequence."
>
> But GCC accepts the following program with -std=c99 -pedantic:
>
> int main (void)
> {
>   return 0;
> }
> #define FOO
>
> where there is no new-line character after "FOO".
>
> Is there any reason?

Do you have 0x0A at the end of your text file ?

-- 
Mathieu



More information about the Gcc-help mailing list