ABataev added a comment. In http://reviews.llvm.org/D13128#252630, @yaron.keren wrote:
> When stdout goes elsewhere the console, the shell creates the the output file > (pipe) and will close it when clang terminates so so why clang should close > it at all ? it did not open it. > > Practically, we have been running locally > > Error(false), UseAtomicWrites(false) { > if (FD < 0 ) { > ShouldClose = false; > return; > } > if (FD <= STDERR_FILENO) > ShouldClose = false; > > > and passing regression tests on Windows 7 and Linux, maybe this is required > on other usage scenarios or OS. I thought about it. The problem is that few lines above there is a comment (in getFD()): // Handle "-" as stdout. Note that when we do this, we consider ourself // the owner of stdout. This means that we can do things like close the // file descriptor when we're done and set the "binary" flag globally. and all such stream are created with ShouldClose flag explicitly set to `true`. Should we remove all this stuff? http://reviews.llvm.org/D13128 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits