1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2025-02-01 05:01:59 +01:00

Add a raw_ostream version of CheckBitcodeOutputToConsole.

llvm-svn: 75796
This commit is contained in:
Dan Gohman 2009-07-15 17:04:50 +00:00
parent afe44327d4
commit 5ed272db87
2 changed files with 25 additions and 0 deletions

View File

@ -29,6 +29,16 @@ bool CheckBitcodeOutputToConsole(
bool print_warning = true ///< Control whether warnings are printed 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 /// 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 /// 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 /// the same directory, but that directory is neither the current directory, nor

View File

@ -19,6 +19,21 @@
#include <ostream> #include <ostream>
using namespace llvm; 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 llvm::CheckBitcodeOutputToConsole(std::ostream* stream_to_check,
bool print_warning) { bool print_warning) {
if (stream_to_check == cout.stream() && if (stream_to_check == cout.stream() &&