summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2003-07-30 05:17:35 +0000
committerChris Lattner <sabre@nondot.org>2003-07-30 05:17:35 +0000
commit1de61e04fbf84d10811ddcc9faf112bf8f2b0ad9 (patch)
tree467be2d683664e8570becbd14bc326d9b6130390
parent03eeeb7e0266dad99f7c21660abb3c4729ae6550 (diff)
downloadbcm5719-llvm-1de61e04fbf84d10811ddcc9faf112bf8f2b0ad9.tar.gz
bcm5719-llvm-1de61e04fbf84d10811ddcc9faf112bf8f2b0ad9.zip
Fix coredump for when an ID is used illegally outside a record
llvm-svn: 7411
-rw-r--r--llvm/support/tools/TableGen/FileParser.y4
1 files changed, 4 insertions, 0 deletions
diff --git a/llvm/support/tools/TableGen/FileParser.y b/llvm/support/tools/TableGen/FileParser.y
index f8fa16de2a5..55938f47ea7 100644
--- a/llvm/support/tools/TableGen/FileParser.y
+++ b/llvm/support/tools/TableGen/FileParser.y
@@ -245,6 +245,10 @@ Value : INTVAL {
$$ = Init;
delete $2;
} | ID {
+ if (CurRec == 0) {
+ err() << "Def/Class name '" << *$1 << "' not allowed here!\n";
+ abort();
+ }
if (const RecordVal *RV = CurRec->getValue(*$1)) {
$$ = new VarInit(*$1, RV->getType());
} else if (Record *D = Records.getDef(*$1)) {
OpenPOWER on IntegriCloud