mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-12-16 16:16:45 +00:00
Move debug functionality to Debug.cpp/Debug.h
llvm-svn: 7494
This commit is contained in:
parent
89bf5d3a60
commit
ef90e1b189
53
lib/Support/Debug.cpp
Normal file
53
lib/Support/Debug.cpp
Normal file
@ -0,0 +1,53 @@
|
||||
//===-- Debug.cpp - An easy way to add debug output to your code ----------===//
|
||||
//
|
||||
// This file implements a handle way of adding debugging information to your
|
||||
// code, without it being enabled all of the time, and without having to add
|
||||
// command line options to enable it.
|
||||
//
|
||||
// In particular, just wrap your code with the DEBUG() macro, and it will be
|
||||
// enabled automatically if you specify '-debug' on the command-line.
|
||||
// Alternatively, you can also use the SET_DEBUG_TYPE("foo") macro to specify
|
||||
// that your debug code belongs to class "foo". Then, on the command line, you
|
||||
// can specify '-debug-only=foo' to enable JUST the debug information for the
|
||||
// foo class.
|
||||
//
|
||||
// When compiling in release mode, the -debug-* options and all code in DEBUG()
|
||||
// statements disappears, so it does not effect the runtime of the code.
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#include "Support/Statistic.h"
|
||||
#include "Support/CommandLine.h"
|
||||
|
||||
bool DebugFlag; // DebugFlag - Exported boolean set by the -debug option
|
||||
|
||||
namespace {
|
||||
#ifndef NDEBUG
|
||||
// -debug - Command line option to enable the DEBUG statements in the passes.
|
||||
// This flag may only be enabled in debug builds.
|
||||
cl::opt<bool, true>
|
||||
Debug("debug", cl::desc("Enable debug output"), cl::Hidden,
|
||||
cl::location(DebugFlag));
|
||||
|
||||
std::string CurrentDebugType;
|
||||
struct DebugOnlyOpt {
|
||||
void operator=(const std::string &Val) const {
|
||||
DebugFlag |= !Val.empty();
|
||||
CurrentDebugType = Val;
|
||||
}
|
||||
} DebugOnlyOptLoc;
|
||||
|
||||
cl::opt<DebugOnlyOpt, true, cl::parser<std::string> >
|
||||
DebugOnly("debug-only", cl::desc("Enable a specific type of debug output"),
|
||||
cl::Hidden, cl::value_desc("debug string"),
|
||||
cl::location(DebugOnlyOptLoc), cl::ValueRequired);
|
||||
#endif
|
||||
}
|
||||
|
||||
// isCurrentDebugType - Return true if the specified string is the debug type
|
||||
// specified on the command line, or if none was specified on the command line
|
||||
// with the -debug-only=X option.
|
||||
//
|
||||
bool isCurrentDebugType(const char *DebugType) {
|
||||
return CurrentDebugType.empty() || DebugType == CurrentDebugType;
|
||||
}
|
@ -16,15 +16,12 @@
|
||||
|
||||
#include "Support/Statistic.h"
|
||||
#include "Support/CommandLine.h"
|
||||
#include <iostream>
|
||||
#include <sstream>
|
||||
#include <algorithm>
|
||||
#include <iostream>
|
||||
|
||||
// GetLibSupportInfoOutputFile - Return a file stream to print our output on...
|
||||
std::ostream *GetLibSupportInfoOutputFile();
|
||||
|
||||
bool DebugFlag; // DebugFlag - Exported boolean set by the -debug option
|
||||
|
||||
unsigned StatisticBase::NumStats = 0;
|
||||
|
||||
// -stats - Command line option to cause transformations to emit stats about
|
||||
@ -33,14 +30,6 @@ unsigned StatisticBase::NumStats = 0;
|
||||
static cl::opt<bool>
|
||||
Enabled("stats", cl::desc("Enable statistics output from program"));
|
||||
|
||||
#ifndef NDEBUG
|
||||
// -debug - Command line option to enable the DEBUG statements in the passes.
|
||||
// This flag may only be enabled in debug builds.
|
||||
static cl::opt<bool, true>
|
||||
Debug("debug", cl::desc("Enable debug output"), cl::Hidden,
|
||||
cl::location(DebugFlag));
|
||||
#endif
|
||||
|
||||
struct StatRecord {
|
||||
std::string Value;
|
||||
const char *Name, *Desc;
|
||||
|
53
support/lib/Support/Debug.cpp
Normal file
53
support/lib/Support/Debug.cpp
Normal file
@ -0,0 +1,53 @@
|
||||
//===-- Debug.cpp - An easy way to add debug output to your code ----------===//
|
||||
//
|
||||
// This file implements a handle way of adding debugging information to your
|
||||
// code, without it being enabled all of the time, and without having to add
|
||||
// command line options to enable it.
|
||||
//
|
||||
// In particular, just wrap your code with the DEBUG() macro, and it will be
|
||||
// enabled automatically if you specify '-debug' on the command-line.
|
||||
// Alternatively, you can also use the SET_DEBUG_TYPE("foo") macro to specify
|
||||
// that your debug code belongs to class "foo". Then, on the command line, you
|
||||
// can specify '-debug-only=foo' to enable JUST the debug information for the
|
||||
// foo class.
|
||||
//
|
||||
// When compiling in release mode, the -debug-* options and all code in DEBUG()
|
||||
// statements disappears, so it does not effect the runtime of the code.
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#include "Support/Statistic.h"
|
||||
#include "Support/CommandLine.h"
|
||||
|
||||
bool DebugFlag; // DebugFlag - Exported boolean set by the -debug option
|
||||
|
||||
namespace {
|
||||
#ifndef NDEBUG
|
||||
// -debug - Command line option to enable the DEBUG statements in the passes.
|
||||
// This flag may only be enabled in debug builds.
|
||||
cl::opt<bool, true>
|
||||
Debug("debug", cl::desc("Enable debug output"), cl::Hidden,
|
||||
cl::location(DebugFlag));
|
||||
|
||||
std::string CurrentDebugType;
|
||||
struct DebugOnlyOpt {
|
||||
void operator=(const std::string &Val) const {
|
||||
DebugFlag |= !Val.empty();
|
||||
CurrentDebugType = Val;
|
||||
}
|
||||
} DebugOnlyOptLoc;
|
||||
|
||||
cl::opt<DebugOnlyOpt, true, cl::parser<std::string> >
|
||||
DebugOnly("debug-only", cl::desc("Enable a specific type of debug output"),
|
||||
cl::Hidden, cl::value_desc("debug string"),
|
||||
cl::location(DebugOnlyOptLoc), cl::ValueRequired);
|
||||
#endif
|
||||
}
|
||||
|
||||
// isCurrentDebugType - Return true if the specified string is the debug type
|
||||
// specified on the command line, or if none was specified on the command line
|
||||
// with the -debug-only=X option.
|
||||
//
|
||||
bool isCurrentDebugType(const char *DebugType) {
|
||||
return CurrentDebugType.empty() || DebugType == CurrentDebugType;
|
||||
}
|
@ -16,15 +16,12 @@
|
||||
|
||||
#include "Support/Statistic.h"
|
||||
#include "Support/CommandLine.h"
|
||||
#include <iostream>
|
||||
#include <sstream>
|
||||
#include <algorithm>
|
||||
#include <iostream>
|
||||
|
||||
// GetLibSupportInfoOutputFile - Return a file stream to print our output on...
|
||||
std::ostream *GetLibSupportInfoOutputFile();
|
||||
|
||||
bool DebugFlag; // DebugFlag - Exported boolean set by the -debug option
|
||||
|
||||
unsigned StatisticBase::NumStats = 0;
|
||||
|
||||
// -stats - Command line option to cause transformations to emit stats about
|
||||
@ -33,14 +30,6 @@ unsigned StatisticBase::NumStats = 0;
|
||||
static cl::opt<bool>
|
||||
Enabled("stats", cl::desc("Enable statistics output from program"));
|
||||
|
||||
#ifndef NDEBUG
|
||||
// -debug - Command line option to enable the DEBUG statements in the passes.
|
||||
// This flag may only be enabled in debug builds.
|
||||
static cl::opt<bool, true>
|
||||
Debug("debug", cl::desc("Enable debug output"), cl::Hidden,
|
||||
cl::location(DebugFlag));
|
||||
#endif
|
||||
|
||||
struct StatRecord {
|
||||
std::string Value;
|
||||
const char *Name, *Desc;
|
||||
|
Loading…
Reference in New Issue
Block a user