mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-02-22 13:49:49 +08:00
charset.c (_cpp_convert_input): Check '\r' before inserting '\n' at the end.
* charset.c (_cpp_convert_input): Check '\r' before inserting '\n' at the end. * gcc.dg/cpp/mac-eol-at-eof.c: New test. From-SVN: r95289
This commit is contained in:
parent
332e7efe7f
commit
04c90eea07
@ -1,3 +1,7 @@
|
||||
2005-02-19 Devang Patel <dpatel@apple.com>
|
||||
|
||||
* gcc.dg/cpp/mac-eol-at-eof.c: New test.
|
||||
|
||||
2005-02-19 Steven G. Kargl <kargls@comcast.net>
|
||||
|
||||
* gfortran.dg/achar_1.f90: New test.
|
||||
|
1
gcc/testsuite/gcc.dg/cpp/mac-eol-at-eof.c
Normal file
1
gcc/testsuite/gcc.dg/cpp/mac-eol-at-eof.c
Normal file
@ -0,0 +1 @@
|
||||
/* Test no newline at eof warning when Mac line ending is used*/
/* { dg-do compile } */
int main() { return 0; }
|
@ -1,3 +1,8 @@
|
||||
2005-02-19 Devang Patel <dpatel@apple.com>
|
||||
|
||||
* charset.c (_cpp_convert_input): Check '\r' before inserting
|
||||
'\n' at the end.
|
||||
|
||||
2005-02-15 Eric Christopher <echristo@redhat.com>
|
||||
|
||||
PR preprocessor/19077
|
||||
|
@ -1405,7 +1405,15 @@ _cpp_convert_input (cpp_reader *pfile, const char *input_charset,
|
||||
if (to.len + 4096 < to.asize || to.len >= to.asize)
|
||||
to.text = xrealloc (to.text, to.len + 1);
|
||||
|
||||
to.text[to.len] = '\n';
|
||||
/* If the file is using old-school Mac line endings (\r only),
|
||||
terminate with another \r, not an \n, so that we do not mistake
|
||||
the \r\n sequence for a single DOS line ending and erroneously
|
||||
issue the "No newline at end of file" diagnostic. */
|
||||
if (to.text[to.len - 1] == '\r')
|
||||
to.text[to.len] = '\r';
|
||||
else
|
||||
to.text[to.len] = '\n';
|
||||
|
||||
*st_size = to.len;
|
||||
return to.text;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user