[llvm-commits] [llvm] r111643 - /llvm/trunk/lib/Support/raw_ostream.cpp

Dan Gohman gohman at apple.com
Fri Aug 20 20:07:20 PDT 2010

On Aug 20, 2010, at 5:45 PM, Chris Lattner wrote:

> On Aug 20, 2010, at 9:44 AM, Dan Gohman wrote:
>> Author: djg
>> Date: Fri Aug 20 11:44:56 2010
>> New Revision: 111643
>> URL: http://llvm.org/viewvc/llvm-project?rev=111643&view=rev
>> Log:
>> Make outs() close its file when its stream is destructed, so that
>> pending output errors are detected.
> I don't get this.  This means that any evaluation (e.g. in a library) of outs() will dramatically change the behavior of the program it is embedded into.  This is non-obvious and seems really really dangerous.

Library code meant to be embedded as a subsystem within diverse applications shouldn't
ever be even thinking about outs().  There are a few legitimate outs() uses left in
the tools right now, but due to the potential for confusion, it may make sense to
remove outs() altogether.


More information about the llvm-commits mailing list