While not as critical nowadays i agree with mh here its also crucial for some tools to parse things correctly that a source file ends in a newline.
This is not only relevant to gcc compilers but affects every compiler though some like msvc wont bitch about it

Productivity is a state of mind.