[llvm-commits] [llvm] r66827 - /llvm/trunk/include/llvm/Support/raw_ostream.h

Daniel Dunbar daniel at zuster.org
Mon Mar 16 19:03:09 PDT 2009


This should be addressed. Look better?
- Daniel

On Thu, Mar 12, 2009 at 3:50 PM, Chris Lattner <clattner at apple.com> wrote:

> On Mar 12, 2009, at 3:02 PM, Daniel Dunbar wrote:
> > URL: http://llvm.org/viewvc/llvm-project?rev=66827&view=rev
> > Log:
> > raw_ostream: unbuffered streams weren't being immediately flushed on
> > single character writes.
>
> Ack, no!  Please don't do this.  The entire point of these is that
> they are supposed to be small and inline.  If you want to do this,
> please use a body like:
>
>
>     if (OutBufCur >= OutBufEnd)
>       return output_char_slow(C);
>     *OutBufCur++ = C;
>     return *this;
>   }
>
> And arrange for the "OutBufCur >= OutBufEnd" condition to always be
> true for the stderr case (by not having a buffer).
>
> -Chris
>
> >
> >
> > Modified:
> >    llvm/trunk/include/llvm/Support/raw_ostream.h
> >
> > Modified: llvm/trunk/include/llvm/Support/raw_ostream.h
> > URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Support/raw_ostream.h?rev=66827&r1=66826&r2=66827&view=diff
> >
> > =
> > =
> > =
> > =
> > =
> > =
> > =
> > =
> > ======================================================================
> > --- llvm/trunk/include/llvm/Support/raw_ostream.h (original)
> > +++ llvm/trunk/include/llvm/Support/raw_ostream.h Thu Mar 12
> > 17:02:44 2009
> > @@ -84,6 +84,8 @@
> >     if (OutBufCur >= OutBufEnd)
> >       flush_impl();
> >     *OutBufCur++ = C;
> > +    if (Unbuffered)
> > +      flush_impl();
> >     return *this;
> >   }
> >
> > @@ -91,6 +93,8 @@
> >     if (OutBufCur >= OutBufEnd)
> >       flush_impl();
> >     *OutBufCur++ = C;
> > +    if (Unbuffered)
> > +      flush_impl();
> >     return *this;
> >   }
> >
> > @@ -98,6 +102,8 @@
> >     if (OutBufCur >= OutBufEnd)
> >       flush_impl();
> >     *OutBufCur++ = C;
> > +    if (Unbuffered)
> > +      flush_impl();
> >     return *this;
> >   }
> >
> >
> >
> > _______________________________________________
> > llvm-commits mailing list
> > llvm-commits at cs.uiuc.edu
> > http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20090316/ae40f8bb/attachment.html>


More information about the llvm-commits mailing list