Bug ID: 81745
           Summary: missing warning with -pedantic when a C file does not
                    end with a newline character
           Product: gcc
           Version: 8.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: preprocessor
          Assignee: unassigned at gcc dot
          Reporter: vincent-gcc at vinc17 dot net
  Target Milestone: ---

The ISO C99 and C11 standards say in "A source file that is not
empty shall end in a new-line character". But the following doesn't generate
any warning or error message:

$ printf 'int main(void) { return 0; }' | gcc -xc -std=c99 -pedantic -

with all the GCC versions I could test, including a 8.0.0 snapshot [trunk
revision 250749].

Clang generates a warning (implied by -pedantic) as expected:

$ printf 'int main(void) { return 0; }' | clang-4.0 -xc -std=c99 -pedantic -
<stdin>:1:29: warning: no newline at end of file [-Wnewline-eof]
int main(void) { return 0; }
1 warning generated.

GCC should do the same thing and use the same warning name -Wnewline-eof.

Note: This bug is apparently a consequence of the fix of PR14331. In the bug
report, it was asked for a new option, but the warning was suppressed

Reply via email to