diff options
author | Chris Lattner <sabre@nondot.org> | 2003-09-02 22:50:02 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2003-09-02 22:50:02 +0000 |
commit | d8d6c76a9ae6f4942804e5e2f39b894ca90c9af7 (patch) | |
tree | e381adee0f564a342b9c9b1ad090546d74fa21f9 | |
parent | 1bb626387b4e3493543464e73808848378f3b7f2 (diff) |
Don't return bogus references, and don't add an entry to the Concrete map
unless it's not empty!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8334 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/VMCore/Type.cpp | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/lib/VMCore/Type.cpp b/lib/VMCore/Type.cpp index 5475a57188..54fe4431ba 100644 --- a/lib/VMCore/Type.cpp +++ b/lib/VMCore/Type.cpp @@ -39,7 +39,8 @@ void PATypeHolder::dump() const { Type::Type(const std::string &name, PrimitiveID id) : Value(Type::TypeTy, Value::TypeVal) { - ConcreteTypeDescriptions[this] = name; + if (!name.empty()) + ConcreteTypeDescriptions[this] = name; ID = id; Abstract = false; UID = CurUID++; // Assign types UID's as they are created @@ -202,8 +203,8 @@ static std::string getTypeDescription(const Type *Ty, break; } default: - assert(0 && "Unhandled type in getTypeDescription!"); Result = "<error>"; + assert(0 && "Unhandled type in getTypeDescription!"); } TypeStack.pop_back(); // Remove self from stack... @@ -211,11 +212,9 @@ static std::string getTypeDescription(const Type *Ty, // In order to reduce the amount of repeated computation, we cache the // computed value for later. if (Ty->isAbstract()) - AbstractTypeDescriptions[Ty] = Result; + return AbstractTypeDescriptions[Ty] = Result; else - ConcreteTypeDescriptions[Ty] = Result; - - return Result; + return ConcreteTypeDescriptions[Ty] = Result; } |