eliminate the ostream version of CheckBitcodeOutputToConsole,

change the raw_ostream one to take the raw_ostream byref instead
of byptr.  Prune #includes, eliminate a use of Streams.h


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79863 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner
2009-08-23 21:36:09 +00:00
parent 9441cfe488
commit b683ea4712
6 changed files with 15 additions and 39 deletions

View File

@ -15,19 +15,11 @@
#ifndef LLVM_SUPPORT_SYSTEMUTILS_H #ifndef LLVM_SUPPORT_SYSTEMUTILS_H
#define LLVM_SUPPORT_SYSTEMUTILS_H #define LLVM_SUPPORT_SYSTEMUTILS_H
#include "llvm/System/Program.h" #include <string>
namespace llvm { namespace llvm {
class raw_ostream;
/// Determine if the ostream provided is connected to the std::cout and namespace sys { class Path; }
/// 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(
std::ostream* stream_to_check, ///< The stream to be checked
bool print_warning = true ///< Control whether warnings are printed
);
/// Determine if the raw_ostream provided is connected to the outs() and /// 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 /// displayed or not (to a console window). If so, generate a warning message
@ -35,7 +27,7 @@ bool CheckBitcodeOutputToConsole(
/// false /// false
/// @brief Check for output written to a console /// @brief Check for output written to a console
bool CheckBitcodeOutputToConsole( bool CheckBitcodeOutputToConsole(
raw_ostream* stream_to_check, ///< The stream to be checked raw_ostream &stream_to_check, ///< The stream to be checked
bool print_warning = true ///< Control whether warnings are printed bool print_warning = true ///< Control whether warnings are printed
); );

View File

@ -12,34 +12,17 @@
// //
//===----------------------------------------------------------------------===// //===----------------------------------------------------------------------===//
#include "llvm/Support/Streams.h"
#include "llvm/Support/SystemUtils.h" #include "llvm/Support/SystemUtils.h"
#include "llvm/System/Process.h" #include "llvm/System/Process.h"
#include "llvm/System/Program.h" #include "llvm/System/Program.h"
#include <ostream>
using namespace llvm; using namespace llvm;
bool llvm::CheckBitcodeOutputToConsole(raw_ostream* stream_to_check, bool llvm::CheckBitcodeOutputToConsole(raw_ostream &stream_to_check,
bool print_warning) { bool print_warning) {
if (stream_to_check == &outs() && if (&stream_to_check == &outs() &&
sys::Process::StandardOutIsDisplayed()) { sys::Process::StandardOutIsDisplayed()) {
if (print_warning) { if (print_warning) {
cerr << "WARNING: You're attempting to print out a bitcode file.\n" errs() << "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() &&
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" << "This is inadvisable as it may cause display problems. If\n"
<< "you REALLY want to taste LLVM bitcode first-hand, you\n" << "you REALLY want to taste LLVM bitcode first-hand, you\n"
<< "can force output with the `-f' option.\n\n"; << "can force output with the `-f' option.\n\n";

View File

@ -20,6 +20,7 @@
#include "llvm/ADT/Triple.h" #include "llvm/ADT/Triple.h"
#include "llvm/Support/CommandLine.h" #include "llvm/Support/CommandLine.h"
#include "llvm/Support/SystemUtils.h" #include "llvm/Support/SystemUtils.h"
#include "llvm/System/Path.h"
#include <exception> #include <exception>
#include <vector> #include <vector>

View File

@ -114,7 +114,7 @@ int main(int argc, char **argv) {
sys::RemoveFileOnSignal(sys::Path(OutputFilename)); sys::RemoveFileOnSignal(sys::Path(OutputFilename));
if (!DisableOutput) if (!DisableOutput)
if (Force || !CheckBitcodeOutputToConsole(Out.get(), true)) if (Force || !CheckBitcodeOutputToConsole(*Out, true))
WriteBitcodeToFile(M.get(), *Out); WriteBitcodeToFile(M.get(), *Out);
return 0; return 0;
} }

View File

@ -36,6 +36,7 @@
#include "llvm/Support/StandardPasses.h" #include "llvm/Support/StandardPasses.h"
#include "llvm/Support/SystemUtils.h" #include "llvm/Support/SystemUtils.h"
#include "llvm/System/Host.h" #include "llvm/System/Host.h"
#include "llvm/System/Program.h"
#include "llvm/System/Signals.h" #include "llvm/System/Signals.h"
#include "llvm/Target/SubtargetFeature.h" #include "llvm/Target/SubtargetFeature.h"
#include "llvm/Target/TargetOptions.h" #include "llvm/Target/TargetOptions.h"

View File

@ -395,9 +395,8 @@ int main(int argc, char **argv) {
// If the output is set to be emitted to standard out, and standard out is a // If the output is set to be emitted to standard out, and standard out is a
// console, print out a warning message and refuse to do it. We don't // console, print out a warning message and refuse to do it. We don't
// impress anyone by spewing tons of binary goo to a terminal. // impress anyone by spewing tons of binary goo to a terminal.
if (!Force && !NoOutput && CheckBitcodeOutputToConsole(Out,!Quiet)) { if (!Force && !NoOutput && CheckBitcodeOutputToConsole(*Out, !Quiet))
NoOutput = true; NoOutput = true;
}
// Create a PassManager to hold and optimize the collection of passes we are // Create a PassManager to hold and optimize the collection of passes we are
// about to build... // about to build...