aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/AsmParser/llvmAsmParser.y12
1 files changed, 8 insertions, 4 deletions
diff --git a/lib/AsmParser/llvmAsmParser.y b/lib/AsmParser/llvmAsmParser.y
index 8a1cf0ab32..c317ff3220 100644
--- a/lib/AsmParser/llvmAsmParser.y
+++ b/lib/AsmParser/llvmAsmParser.y
@@ -82,10 +82,14 @@ static struct PerModuleInfo {
// resolved!
//
if (!GlobalRefs.empty()) {
- // TODO: Make this more detailed! Loop over each undef value and print
- // info
- ThrowException("TODO: Make better error - Unresolved forward constant "
- "references exist!");
+ string UndefinedReferences = "Unresolved global references exist:\n";
+
+ for (GlobalRefsType::iterator I = GlobalRefs.begin(), E =GlobalRefs.end();
+ I != E; ++I) {
+ UndefinedReferences += " " + I->first.first->getDescription() + " " +
+ I->first.second.getName() + "\n";
+ }
+ ThrowException(UndefinedReferences);
}
Values.clear(); // Clear out method local definitions