ISO C 1999 requires a newline at the end of every non-blank source file:
"123 A source file that is not empty shall end in a new-line
character, which shall not be immediately preceded by a backslash
character before any such splicing takes place. "
Thanks Mike Kimber for reporting this bug.