}
}
-
-static void setValueNameInternal(Value *V, const std::string &Name,
- SymbolTable &ST) {
- if (V->getType() == Type::VoidTy)
- ThrowException("Can't assign name '" + Name + "' to value with void type!");
-
- // Set the name
- V->setName(Name, &ST);
-}
-
// setValueName - Set the specified value to the name given. The name may be
// null potentially, in which case this is a noop. The string passed in is
// assumed to be a malloc'd string buffer, and is free'd by this function.
if (NameStr) {
std::string Name(NameStr); // Copy string
free(NameStr); // Free old string
+
+ if (V->getType() == Type::VoidTy)
+ ThrowException("Can't assign name '" + Name+"' to value with void type!");
assert(inFunctionScope() && "Must be in function scope!");
SymbolTable &ST = CurFun.CurrentFunction->getSymbolTable();
ThrowException("Redefinition of value named '" + Name + "' in the '" +
V->getType()->getDescription() + "' type plane!");
- setValueNameInternal(V, Name, ST);
+ // Set the name.
+ V->setName(Name, &ST);
}
}
// for the typeplane, false is returned.
//
static bool setValueNameMergingDuplicates(Value *V, char *NameStr) {
+ assert(V->getType() != Type::VoidTy && "Global or constant of type void?");
+
if (NameStr == 0) return false;
std::string Name(NameStr); // Copy string
ThrowException("Redefinition of value named '" + Name + "' in the '" +
V->getType()->getDescription() + "' type plane!");
}
-
- setValueNameInternal(V, Name, ST);
+
+ // Set the name.
+ V->setName(Name, &ST);
return false;
}