mirror of
https://github.com/RPCSX/llvm.git
synced 2025-01-19 02:42:58 +00:00
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
This commit is contained in:
parent
1bb626387b
commit
d8d6c76a9a
@ -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;
|
||||
}
|
||||
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user