mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-13 04:30:23 +00:00
Add a better error message when failing to assign one tablegen value to another
This is currently for assigning from one bit init to another. It can easily be extended to other types. Test to follow soon in another patch. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@214374 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
b4d70a0c2a
commit
b71c54fb7d
@ -135,11 +135,18 @@ bool TGParser::SetValue(Record *CurRec, SMLoc Loc, Init *ValName,
|
||||
V = BitsInit::get(NewBits);
|
||||
}
|
||||
|
||||
if (RV->setValue(V))
|
||||
if (RV->setValue(V)) {
|
||||
std::string InitType = "";
|
||||
if (BitsInit *BI = dyn_cast<BitsInit>(V)) {
|
||||
InitType = (Twine("' of type bit initializer with length ") +
|
||||
Twine(BI->getNumBits())).str();
|
||||
}
|
||||
return Error(Loc, "Value '" + ValName->getAsUnquotedString() + "' of type '"
|
||||
+ RV->getType()->getAsString() +
|
||||
"' is incompatible with initializer '" + V->getAsString()
|
||||
+ InitType
|
||||
+ "'");
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user