On Sep 4, 2010, at 1:57 PM, Daniel Dunbar wrote:
>>>
>>> + // Dump the header include information, if enabled and we are past the
>>> + // predefines buffer.
>>> + if (DumpHeaderIncludes && HasProcessedPredefines &&
>>> + Reason == PPCallbacks::EnterFile) {
>>> + llvm::SmallString<256> Msg;
>>> + llvm::raw_svector_ostream OS(Msg);
>>> + for (unsigned i = 0; i != CurrentIncludeDepth; ++i)
>>> + OS << '.';
>>> + OS << ' ' << CurFilename << '\n';
>>> + llvm::errs() << OS.str();
>>
>> Why the temporary SmallString?
>
> It writes on llvm::errs() directly, which has horrible buffering
> behavior. I didn't want to be flushing out one character at a time. A
> generally solution to this problem would make more sense, but there
> aren't so many places that output substantial text to stderr.
Alrighty. If you wanted to simplify the code, you don't actually need
raw_svector_ostream. Msg.push_back and Msg.append should suffice for the
operations you're doing.
-Chris
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits