[llvm-commits] [llvm] r66827 - /llvm/trunk/include/llvm/Support/raw_ostream.h
Daniel Dunbar
daniel_dunbar at apple.com
Thu Mar 12 16:32:22 PDT 2009
I knew screams were on the way. :)
I'll look into a better solution by Monday...
- Daniel
On Mar 12, 2009, at 3:50 PM, Chris Lattner 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
>
More information about the llvm-commits
mailing list