Add an assertion check to raw_ostream's destructor to verify
authorDan Gohman <gohman@apple.com>
Mon, 27 Jul 2009 20:49:44 +0000 (20:49 +0000)
committerDan Gohman <gohman@apple.com>
Mon, 27 Jul 2009 20:49:44 +0000 (20:49 +0000)
that the subclass hasn't left any pending data in the buffer.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77245 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Support/raw_ostream.cpp

index 3cec18b442ecf5b8ff38fa59a0edb604684ff5ef..7e34e06c8dc011efbdba87f8a6e8d94eeaa7f87f 100644 (file)
 using namespace llvm;
 
 raw_ostream::~raw_ostream() {
+  // raw_ostream's subclasses should take care to flush the buffer
+  // in their destructors.
+  assert(OutBufCur == OutBufStart &&
+         "raw_ostream destructor called with non-empty buffer!");
+
   delete [] OutBufStart;
 
   // If there are any pending errors, report them now. Clients wishing