diff options
author | rdivacky <rdivacky@FreeBSD.org> | 2009-11-04 14:58:56 +0000 |
---|---|---|
committer | rdivacky <rdivacky@FreeBSD.org> | 2009-11-04 14:58:56 +0000 |
commit | 7ff99155c39edd73ebf1c6adfa023b1048fee9a4 (patch) | |
tree | b4dc751bcee540346911aa4115729eff2f991657 /include/llvm/Support/Debug.h | |
parent | d1f06de484602e72707476a6152974847bac1570 (diff) | |
download | FreeBSD-src-7ff99155c39edd73ebf1c6adfa023b1048fee9a4.zip FreeBSD-src-7ff99155c39edd73ebf1c6adfa023b1048fee9a4.tar.gz |
Update LLVM to r86025.
Diffstat (limited to 'include/llvm/Support/Debug.h')
-rw-r--r-- | include/llvm/Support/Debug.h | 67 |
1 files changed, 35 insertions, 32 deletions
diff --git a/include/llvm/Support/Debug.h b/include/llvm/Support/Debug.h index 6f82ea7..afa828c 100644 --- a/include/llvm/Support/Debug.h +++ b/include/llvm/Support/Debug.h @@ -28,39 +28,47 @@ namespace llvm { -// DebugFlag - This boolean is set to true if the '-debug' command line option -// is specified. This should probably not be referenced directly, instead, use -// the DEBUG macro below. -// -#ifndef NDEBUG -extern bool DebugFlag; +/// DEBUG_TYPE macro - Files can specify a DEBUG_TYPE as a string, which causes +/// all of their DEBUG statements to be activatable with -debug-only=thatstring. +#ifndef DEBUG_TYPE +#define DEBUG_TYPE "" #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. -// + #ifndef NDEBUG +/// DebugFlag - This boolean is set to true if the '-debug' command line option +/// is specified. This should probably not be referenced directly, instead, use +/// the DEBUG macro below. +/// +extern bool DebugFlag; + +/// 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 *Type); -#else -#define isCurrentDebugType(X) (false) -#endif - -// DEBUG_WITH_TYPE macro - This macro should be used by passes to emit debug -// information. In the '-debug' option is specified on the commandline, and if -// this is a debug build, then the code specified as the option to the macro -// will be executed. Otherwise it will not be. Example: -// -// DEBUG_WITH_TYPE("bitset", errs() << "Bitset contains: " << Bitset << "\n"); -// -// This will emit the debug information if -debug is present, and -debug-only is -// not specified, or is specified as "bitset". -#ifdef NDEBUG -#define DEBUG_WITH_TYPE(TYPE, X) do { } while (0) -#else +/// SetCurrentDebugType - Set the current debug type, as if the -debug-only=X +/// option were specified. Note that DebugFlag also needs to be set to true for +/// debug output to be produced. +/// +void SetCurrentDebugType(const char *Type); + +/// DEBUG_WITH_TYPE macro - This macro should be used by passes to emit debug +/// information. In the '-debug' option is specified on the commandline, and if +/// this is a debug build, then the code specified as the option to the macro +/// will be executed. Otherwise it will not be. Example: +/// +/// DEBUG_WITH_TYPE("bitset", errs() << "Bitset contains: " << Bitset << "\n"); +/// +/// This will emit the debug information if -debug is present, and -debug-only +/// is not specified, or is specified as "bitset". #define DEBUG_WITH_TYPE(TYPE, X) \ do { if (DebugFlag && isCurrentDebugType(TYPE)) { X; } } while (0) + +#else +#define isCurrentDebugType(X) (false) +#define SetCurrentDebugType(X) +#define DEBUG_WITH_TYPE(TYPE, X) do { } while (0) #endif // DEBUG macro - This macro should be used by passes to emit debug information. @@ -70,11 +78,6 @@ bool isCurrentDebugType(const char *Type); // // DEBUG(errs() << "Bitset contains: " << Bitset << "\n"); // - -#ifndef DEBUG_TYPE -#define DEBUG_TYPE "" -#endif - #define DEBUG(X) DEBUG_WITH_TYPE(DEBUG_TYPE, X) } // End llvm namespace |