[PATCH] PrettyStackTrace should use ManagedStatic for its ThreadLocal

Dan Gohman sunfish at google.com
Thu Sep 12 17:49:14 PDT 2013


On Thu, Sep 12, 2013 at 5:00 PM, Filip Pizlo <fpizlo at apple.com> wrote:
> llvm::outs() has a static local that closes stdout in its destructor.
> Obviously, this *really* has to run atexit, and probably can't run at
> llvm_shutdown() time.  Alternatively, it shouldn't close stdout.
>
>
> Is the issue just that you want it to flush its output?

The issue is that it needs to detect pending I/O errors.

> In that case why not do the equivalent of _setvbuf?

_setvbuf is for libc buffering. raw_ostream's implementation was
designed to avoid libc buffering because it wasn't as fast.

Dan



More information about the llvm-commits mailing list