diff options
author | Chris Lattner <sabre@nondot.org> | 2006-09-01 21:59:03 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2006-09-01 21:59:03 +0000 |
commit | 7717d0930ac4ef6eda81e9ae66cebef574daaadd (patch) | |
tree | fd07ab4297a42905d66b0bed1d393bc817f2b1f0 /utils/TableGen/FileParser.y.cvs | |
parent | bf7744160594c939f858caa1f7744d25e1c4e0ee (diff) |
fix an assertion with multidefs. Def inside of multiclasses don't need to
be complete.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30034 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'utils/TableGen/FileParser.y.cvs')
-rw-r--r-- | utils/TableGen/FileParser.y.cvs | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/utils/TableGen/FileParser.y.cvs b/utils/TableGen/FileParser.y.cvs index 8ae2ef9ff1..0f0c4689e8 100644 --- a/utils/TableGen/FileParser.y.cvs +++ b/utils/TableGen/FileParser.y.cvs @@ -645,7 +645,8 @@ ClassInst : CLASS ClassName { }; DefInst : DEF DefName ObjectBody { - $3->resolveReferences(); + if (CurMultiClass == 0) // Def's in multiclasses aren't really defs. + $3->resolveReferences(); // If ObjectBody has template arguments, it's an error. assert($3->getTemplateArgs().empty() && "How'd this get template args?"); @@ -749,6 +750,9 @@ DefMInst : DEFM ID { CurDefmPrefix = $2; } ':' SubClassRef ';' { exit(1); } Records.addDef(CurRec); + + CurRec->resolveReferences(); + CurRec = 0; } |