diff options
author | Dan Gohman <gohman@apple.com> | 2009-07-15 17:04:50 +0000 |
---|---|---|
committer | Dan Gohman <gohman@apple.com> | 2009-07-15 17:04:50 +0000 |
commit | 81fd8108e89f996caef41df734d5b514af847175 (patch) | |
tree | b061312c9ad0d1551a5438eca1cafe559099d26b | |
parent | babe50c205003864f5d0081dbc635e0831d73ce8 (diff) | |
download | external_llvm-81fd8108e89f996caef41df734d5b514af847175.zip external_llvm-81fd8108e89f996caef41df734d5b514af847175.tar.gz external_llvm-81fd8108e89f996caef41df734d5b514af847175.tar.bz2 |
Add a raw_ostream version of CheckBitcodeOutputToConsole.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75796 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | include/llvm/Support/SystemUtils.h | 10 | ||||
-rw-r--r-- | lib/Support/SystemUtils.cpp | 15 |
2 files changed, 25 insertions, 0 deletions
diff --git a/include/llvm/Support/SystemUtils.h b/include/llvm/Support/SystemUtils.h index 9a33fa3..95124a0 100644 --- a/include/llvm/Support/SystemUtils.h +++ b/include/llvm/Support/SystemUtils.h @@ -29,6 +29,16 @@ bool CheckBitcodeOutputToConsole( bool print_warning = true ///< Control whether warnings are printed ); +/// Determine if the raw_ostream provided is connected to the outs() and +/// displayed or not (to a console window). If so, generate a warning message +/// advising against display of bitcode and return true. Otherwise just return +/// false +/// @brief Check for output written to a console +bool CheckBitcodeOutputToConsole( + raw_ostream* stream_to_check, ///< The stream to be checked + bool print_warning = true ///< Control whether warnings are printed +); + /// FindExecutable - Find a named executable, giving the argv[0] of program /// being executed. This allows us to find another LLVM tool if it is built into /// the same directory, but that directory is neither the current directory, nor diff --git a/lib/Support/SystemUtils.cpp b/lib/Support/SystemUtils.cpp index c86e200..49a87e4 100644 --- a/lib/Support/SystemUtils.cpp +++ b/lib/Support/SystemUtils.cpp @@ -19,6 +19,21 @@ #include <ostream> using namespace llvm; +bool llvm::CheckBitcodeOutputToConsole(raw_ostream* stream_to_check, + bool print_warning) { + if (stream_to_check == &outs() && + sys::Process::StandardOutIsDisplayed()) { + if (print_warning) { + cerr << "WARNING: You're attempting to print out a bitcode file.\n" + << "This is inadvisable as it may cause display problems. If\n" + << "you REALLY want to taste LLVM bitcode first-hand, you\n" + << "can force output with the `-f' option.\n\n"; + } + return true; + } + return false; +} + bool llvm::CheckBitcodeOutputToConsole(std::ostream* stream_to_check, bool print_warning) { if (stream_to_check == cout.stream() && |