Provide more information in the error message that occurs when there are

unresolved constants remaining.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18502 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Reid Spencer 2004-12-04 22:19:53 +00:00
parent b8e825b1ad
commit 3c39127b72

View File

@ -1571,8 +1571,16 @@ void BytecodeReader::ParseConstantPool(ValueTable &Tab,
// After we have finished parsing the constant pool, we had better not have
// any dangling references left.
if (!ConstantFwdRefs.empty())
error("Unresolved constant references exist!");
if (!ConstantFwdRefs.empty()) {
typedef std::map<std::pair<const Type*,unsigned>, Constant*> ConstantRefsType;
ConstantRefsType::const_iterator I = ConstantFwdRefs.begin();
const Type* missingType = I->first.first;
Constant* missingConst = I->second;
error(utostr(ConstantFwdRefs.size()) +
" unresolved constant reference exist. First one is '" +
missingConst->getName() + "' of type '" +
missingType->getDescription() + "'.");
}
checkPastBlockEnd("Constant Pool");
if (Handler) Handler->handleGlobalConstantsEnd();