Обнаружил, что в дебиановском gcc (точнее, в cpp) 4.4 и 4.6 этого предупреждения уже нет, и никакие -Wall -Wextra его не включают. В собранном вручную 4.7 тоже нет.
Все три версии ругаются на -Weof-newline, упомянутый в http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14331.
В версии 4.2 cpp исправно ругается на.
UPD: A source file that is not empty shall end in a new-line character (C99 draft), речь не про плюсы.