aboutsummaryrefslogtreecommitdiff
path: root/contrib/llvm/lib/Support/Statistic.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/llvm/lib/Support/Statistic.cpp')
-rw-r--r--contrib/llvm/lib/Support/Statistic.cpp18
1 files changed, 7 insertions, 11 deletions
diff --git a/contrib/llvm/lib/Support/Statistic.cpp b/contrib/llvm/lib/Support/Statistic.cpp
index 56c3b0f5659f..e49d1cbe0637 100644
--- a/contrib/llvm/lib/Support/Statistic.cpp
+++ b/contrib/llvm/lib/Support/Statistic.cpp
@@ -24,6 +24,7 @@
#include "llvm/ADT/Statistic.h"
#include "llvm/ADT/StringExtras.h"
#include "llvm/Support/CommandLine.h"
+#include "llvm/Support/Compiler.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/Format.h"
#include "llvm/Support/ManagedStatic.h"
@@ -33,9 +34,6 @@
#include <cstring>
using namespace llvm;
-// CreateInfoOutputFile - Return a file stream to print our output on.
-namespace llvm { extern raw_ostream *CreateInfoOutputFile(); }
-
/// -stats - Command line option to cause transformations to emit stats about
/// what they did.
///
@@ -144,20 +142,18 @@ void llvm::PrintStatistics() {
if (Stats.Stats.empty()) return;
// Get the stream to write to.
- raw_ostream &OutStream = *CreateInfoOutputFile();
- PrintStatistics(OutStream);
- delete &OutStream; // Close the file.
+ std::unique_ptr<raw_ostream> OutStream = CreateInfoOutputFile();
+ PrintStatistics(*OutStream);
+
#else
// Check if the -stats option is set instead of checking
// !Stats.Stats.empty(). In release builds, Statistics operators
// do nothing, so stats are never Registered.
if (Enabled) {
// Get the stream to write to.
- raw_ostream &OutStream = *CreateInfoOutputFile();
- OutStream << "Statistics are disabled. "
- << "Build with asserts or with -DLLVM_ENABLE_STATS\n";
- OutStream.flush();
- delete &OutStream; // Close the file.
+ std::unique_ptr<raw_ostream> OutStream = CreateInfoOutputFile();
+ (*OutStream) << "Statistics are disabled. "
+ << "Build with asserts or with -DLLVM_ENABLE_STATS\n";
}
#endif
}