diff --git a/llvm/lib/TableGen/TGParser.cpp b/llvm/lib/TableGen/TGParser.cpp index e01342ffcd3c8..8a8cd2b7356cd 100644 --- a/llvm/lib/TableGen/TGParser.cpp +++ b/llvm/lib/TableGen/TGParser.cpp @@ -3504,7 +3504,7 @@ bool TGParser::ParseBodyItem(Record *CurRec) { RecordVal *Field = CurRec->getValue(FieldName); if (!Field) - return TokError("Value '" + FieldName->getValue() + "' unknown!"); + return Error(IdLoc, "Value '" + FieldName->getValue() + "' unknown!"); const RecTy *Type = Field->getType(); if (!BitList.empty() && isa(Type)) { diff --git a/llvm/test/TableGen/letUnknownValue.td b/llvm/test/TableGen/letUnknownValue.td new file mode 100644 index 0000000000000..e33dca417f1d1 --- /dev/null +++ b/llvm/test/TableGen/letUnknownValue.td @@ -0,0 +1,9 @@ +// RUN: not llvm-tblgen %s 2>&1 | FileCheck %s --strict-whitespace + +def { + /// Let can only override something that already exists. + let abc = []; +// CHECK: error: Value 'abc' unknown! +// CHECK-NEXT:{{^}} let abc = []; +// CHECK-NEXT:{{^}} ^ +} \ No newline at end of file