[PATCH] D43552: TableGen: Add some more helpful error messages
Phabricator via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Feb 22 07:28:39 PST 2018
This revision was automatically updated to reflect the committed changes.
Closed by commit rL325795: TableGen: Add some more helpful error messages (authored by nha, committed by ).
Repository:
rL LLVM
https://reviews.llvm.org/D43552
Files:
llvm/trunk/lib/TableGen/TGParser.cpp
Index: llvm/trunk/lib/TableGen/TGParser.cpp
===================================================================
--- llvm/trunk/lib/TableGen/TGParser.cpp
+++ llvm/trunk/lib/TableGen/TGParser.cpp
@@ -104,7 +104,7 @@
if (BitList.empty())
if (VarInit *VI = dyn_cast<VarInit>(V))
if (VI->getNameInit() == ValName && !AllowSelfAssignment)
- return true;
+ return Error(Loc, "Recursion / self-assignment forbidden");
// If we are assigning to a subset of the bits in the value... then we must be
// assigning to a field of BitsRecTy, which must have a BitsInit
@@ -147,10 +147,12 @@
if (BitsInit *BI = dyn_cast<BitsInit>(V))
InitType = (Twine("' of type bit initializer with length ") +
Twine(BI->getNumBits())).str();
+ else if (TypedInit *TI = dyn_cast<TypedInit>(V))
+ InitType = (Twine("' of type '") + TI->getType()->getAsString()).str();
return Error(Loc, "Value '" + ValName->getAsUnquotedString() +
- "' of type '" + RV->getType()->getAsString() +
- "' is incompatible with initializer '" + V->getAsString() +
- InitType + "'");
+ "' of type '" + RV->getType()->getAsString() +
+ "' is incompatible with initializer '" +
+ V->getAsString() + InitType + "'");
}
return false;
}
@@ -1396,7 +1398,9 @@
// Make sure the deduced type is compatible with the given type
if (GivenListTy) {
if (!EltTy->typeIsConvertibleTo(GivenListTy->getElementType())) {
- TokError("Element type mismatch for list");
+ TokError(Twine("Element type mismatch for list: element type '") +
+ EltTy->getAsString() + "' not convertible to '" +
+ GivenListTy->getElementType()->getAsString());
return nullptr;
}
}
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D43552.135418.patch
Type: text/x-patch
Size: 1900 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180222/022e257b/attachment.bin>
More information about the llvm-commits
mailing list