https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101298
Bug ID: 101298 Summary: Inclusion of a file without trailing newline breaks -fdirectives-only Product: gcc Version: 11.1.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: preprocessor Assignee: unassigned at gcc dot gnu.org Reporter: boris at kolpackov dot net Target Milestone: --- cat <<EOF >test.cxx #include "test.hxx" #include <iostream> int main () {} EOF echo -n "// no newline" >test.hxx g++ -E -fdirectives-only -o test.ii test.cxx In file included from test.cxx:1: test.hxx:1:1: error: unterminated comment echo -n "void f () {}" >test.hxx g++ -E -fdirectives-only -o test.ii test.cxx grep "void f () {}" test.ii void f () {}# 2 "test.cxx" 2 g++ -c -fdirectives-only test.ii In file included from test.cxx:1: test.hxx:1:13: error: stray ‘#’ in program This used to work fine prior to GCC 11. I believe this issue is similar but not the same as bug #100646.