summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDan Gohman <gohman@apple.com>2009-08-12 20:52:45 +0000
committerDan Gohman <gohman@apple.com>2009-08-12 20:52:45 +0000
commit9099b179f26f0654261d82e5fa6e2a38a631d7e3 (patch)
tree0d1c7a0c7d431c9e384f23a7d5ed281b27ae92e7
parent4b354483604c5e5761a27f2f960e9ea16842287e (diff)
downloadbcm5719-llvm-9099b179f26f0654261d82e5fa6e2a38a631d7e3.tar.gz
bcm5719-llvm-9099b179f26f0654261d82e5fa6e2a38a631d7e3.zip
Add a GetBufferSize() member to raw_ostream and use it to
simplify some formatted_raw_ostream code. llvm-svn: 78836
-rw-r--r--llvm/include/llvm/Support/FormattedStream.h3
-rw-r--r--llvm/include/llvm/Support/raw_ostream.h4
2 files changed, 5 insertions, 2 deletions
diff --git a/llvm/include/llvm/Support/FormattedStream.h b/llvm/include/llvm/Support/FormattedStream.h
index 8d6dca66541..11a0e18db4c 100644
--- a/llvm/include/llvm/Support/FormattedStream.h
+++ b/llvm/include/llvm/Support/FormattedStream.h
@@ -116,8 +116,7 @@ namespace llvm
// own buffering, and it doesn't need or want TheStream to do another
// layer of buffering underneath. Resize the buffer to what TheStream
// had been using, and tell TheStream not to do its own buffering.
- TheStream->flush();
- if (size_t BufferSize = TheStream->GetNumBytesInBuffer())
+ if (size_t BufferSize = TheStream->GetBufferSize())
SetBufferSize(BufferSize);
TheStream->SetUnbuffered();
diff --git a/llvm/include/llvm/Support/raw_ostream.h b/llvm/include/llvm/Support/raw_ostream.h
index 09ee03098f4..5f6578fcb50 100644
--- a/llvm/include/llvm/Support/raw_ostream.h
+++ b/llvm/include/llvm/Support/raw_ostream.h
@@ -106,6 +106,10 @@ public:
Unbuffered = false;
}
+ size_t GetBufferSize() const {
+ return OutBufEnd - OutBufStart;
+ }
+
/// SetUnbuffered - Set the streams buffering status. When
/// unbuffered the stream will flush after every write. This routine
/// will also flush the buffer immediately when the stream is being
OpenPOWER on IntegriCloud