aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2008-10-01 20:16:19 +0000
committerChris Lattner <sabre@nondot.org>2008-10-01 20:16:19 +0000
commit41b84f8d97023428309d5efb2dfe757bb17223b9 (patch)
treed1956483d69c715b6a157a4731ff6326a31d9674
parentdc57097760a4335ca94b45e69cbbaa622de92fca (diff)
downloadexternal_llvm-41b84f8d97023428309d5efb2dfe757bb17223b9.zip
external_llvm-41b84f8d97023428309d5efb2dfe757bb17223b9.tar.gz
external_llvm-41b84f8d97023428309d5efb2dfe757bb17223b9.tar.bz2
add a new form of Type::dump that takes a module for type names,
patch provided by Tomas Lindquist Olsen! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56929 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--include/llvm/Type.h5
-rw-r--r--lib/VMCore/AsmWriter.cpp8
2 files changed, 13 insertions, 0 deletions
diff --git a/include/llvm/Type.h b/include/llvm/Type.h
index 1f27195..b8f6558 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 5d765a4..c3186f6 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(); }