clang-cl: Flush stdout after writing the /showIncludes output
authorEhsan Akhgari <ehsan.akhgari@gmail.com>
Thu, 17 Jul 2014 19:08:19 +0000 (19:08 +0000)
committerEhsan Akhgari <ehsan.akhgari@gmail.com>
Thu, 17 Jul 2014 19:08:19 +0000 (19:08 +0000)
commitbd927b645788914de62152c0d18f717610ed2ca6
treebfa46b340d8fb599766fa88a41a81161ea6d629e
parentd3d671604f3e0053b2420b600da55039f4310d57
clang-cl: Flush stdout after writing the /showIncludes output

Summary:
Before this patch, you could get lines in the output such as:
Note: including file:   ../../dist/include/js/Tc:/path/to/foo.cpp(1,1) :  error(clang): static_assert failed...

This patch ensures that the stdout output from showIncludes won't be garbled
in the terminal like this, and it also helps applications that use the output
to generate dependency information if they happen to capture both stdout and
stderr.

Test Plan:
Tested locally, it's hard to write an automated test for this as
the behavior depends on the buffering of the ostreams.

Reviewers: nico

Subscribers: cfe-commits

Differential Revision: http://reviews.llvm.org/D4559

llvm-svn: 213297
clang/lib/Frontend/HeaderIncludeGen.cpp