[cfe-commits] [PATCH] Using proper file mode for -E

Douglas Gregor dgregor at apple.com
Fri Sep 23 10:42:49 PDT 2011


On Sep 18, 2011, at 7:46 AM, Aaron Ballman wrote:

> This is a fix for Bug 6870.
> 
> On Windows, we really do want CRLFs to remain, otherwise the output
> ends up looking incredibly bad when piped to a file (even though it
> looks fine on the command prompt).  For instance:
> 
> clang.exe -E some_file.cpp > test.txt
> 
> With Unix line endings, that will produce output which appears all in
> a single line in some text editors (such as notepad).  Such as:
> 
> #line 1 "some_file.cpp" #line 1 "some_file.cpp" #line 1 "<built-in>"
> #line 1 "<built-in>" #line 138 "<built-in>" #line 1 "<command line>"
> #line 1
> and so on...
> 
> But with CRLFs, the output ends up looking fine:
> #line 1 "some_file.cpp"
> #line 1 "some_file.cpp"
> #line 1 "<built-in>"
> #line 1 "<built-in>"
> #line 138 "<built-in>"
> #line 1 "<command line>"
> #line 1


The use of binary mode was intentional, because we didn't want to translate files with just LF's to CRLF's. The ideal behavior would probably be to emit CRLF's consistently if the input file used CRLF, and emit LF's consistently otherwise.

	- Doug



More information about the cfe-commits mailing list