diff options
author | Chris Lattner <sabre@nondot.org> | 2003-07-30 05:17:35 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2003-07-30 05:17:35 +0000 |
commit | 18226e0cf16873179d7193401959b17fbc9fbc12 (patch) | |
tree | c34d3c10e15eacdcc1e2b49f24365a099a138e0b | |
parent | bfce056ea89f4a243c429c12e47ec78168bb1d2c (diff) |
Fix coredump for when an ID is used illegally outside a record
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7411 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | support/tools/TableGen/FileParser.y | 4 | ||||
-rw-r--r-- | utils/TableGen/FileParser.y | 4 |
2 files changed, 8 insertions, 0 deletions
diff --git a/support/tools/TableGen/FileParser.y b/support/tools/TableGen/FileParser.y index f8fa16de2a..55938f47ea 100644 --- a/support/tools/TableGen/FileParser.y +++ b/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)) { diff --git a/utils/TableGen/FileParser.y b/utils/TableGen/FileParser.y index f8fa16de2a..55938f47ea 100644 --- a/utils/TableGen/FileParser.y +++ b/utils/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)) { |