Add 'tell' method to raw_fd_ostream that clients can use to query the current location in the file the stream is writing to.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60085 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Support/raw_ostream.cpp b/lib/Support/raw_ostream.cpp
index a8e6c78..b10677e 100644
--- a/lib/Support/raw_ostream.cpp
+++ b/lib/Support/raw_ostream.cpp
@@ -253,6 +253,14 @@
   FD = -1;
 }
 
+uint64_t raw_fd_ostream::tell() {
+  // We have to take into account the bytes waiting in the buffer.  For now
+  // we do the easy thing and just flush the buffer before getting the
+  // current file offset.
+  flush();  
+  return (uint64_t) lseek(FD, 0, SEEK_CUR);
+}
+
 //===----------------------------------------------------------------------===//
 //  raw_stdout/err_ostream
 //===----------------------------------------------------------------------===//