mirror of
https://github.com/RPCS3/llvm.git
synced 2024-12-13 14:47:00 +00:00
Tighten up checking on SymbolTable interface to make it illegal to pass a
Type* where a Value* is expected. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13794 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
e5828f1fa7
commit
9b41dcfa60
@ -165,8 +165,9 @@ public:
|
||||
/// @brief Insert a constant or type.
|
||||
inline void insert(const std::string &Name, Value *Val) {
|
||||
assert(Val && "Can't insert null type into symbol table!");
|
||||
assert((isa<Type>(Val) || isa<Constant>(Val)) &&
|
||||
"Can only insert types and constants into a symbol table!");
|
||||
assert(!isa<Type>(Val) && "Cannot insert types with this interface!");
|
||||
assert(isa<Constant>(Val) &&
|
||||
"Can only insert constants into a symbol table!");
|
||||
insertEntry(Name, Val->getType(), Val);
|
||||
}
|
||||
|
||||
@ -201,6 +202,7 @@ public:
|
||||
/// @brief Remove a constant or type from the symbol table.
|
||||
inline Value* remove(const std::string &Name, Value *Val) {
|
||||
assert(Val && "Can't remove null value from symbol table!");
|
||||
assert(!isa<Type>(Val) && "Can't remove types with this interface!");
|
||||
plane_iterator PI = pmap.find(Val->getType());
|
||||
return removeEntry(PI, PI->second.find(Name));
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user