From d8d6c76a9ae6f4942804e5e2f39b894ca90c9af7 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Tue, 2 Sep 2003 22:50:02 +0000 Subject: [PATCH] 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 --- lib/VMCore/Type.cpp | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/lib/VMCore/Type.cpp b/lib/VMCore/Type.cpp index 5475a571889..54fe4431bab 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 = ""; + 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; }