diff --git a/include/llvm/Type.h b/include/llvm/Type.h index 1f271957df7..b8f65582ba3 100644 --- a/include/llvm/Type.h +++ b/include/llvm/Type.h @@ -26,6 +26,7 @@ class PointerType; class IntegerType; class TypeMapBase; class raw_ostream; +class Module; /// This file contains the declaration of the Type class. For more "Type" type /// stuff, look in DerivedTypes.h. @@ -162,6 +163,10 @@ public: /// @brief Debugging support: print to stderr void dump() const; + /// @brief Debugging support: print to stderr (use type names from context + /// module). + void dump(const Module *Context) const; + //===--------------------------------------------------------------------===// // Property accessors for dealing with types... Some of these virtual methods // are defined in private classes defined in Type.cpp for primitive types. diff --git a/lib/VMCore/AsmWriter.cpp b/lib/VMCore/AsmWriter.cpp index 5d765a4c658..c3186f69a5c 100644 --- a/lib/VMCore/AsmWriter.cpp +++ b/lib/VMCore/AsmWriter.cpp @@ -1834,6 +1834,14 @@ void Value::dump() const { print(errs()); errs() << '\n'; errs().flush(); } // Type::dump - allow easy printing of Types from the debugger. void Type::dump() const { print(errs()); errs() << '\n'; errs().flush(); } +// Type::dump - allow easy printing of Types from the debugger. +// This one uses type names from the given context module +void Type::dump(const Module *Context) const { + WriteTypeSymbolic(errs(), this, Context); + errs() << '\n'; + errs().flush(); +} + // Module::dump() - Allow printing of Modules from the debugger. void Module::dump() const { print(errs(), 0); errs().flush(); }