aboutsummaryrefslogtreecommitdiff
path: root/utils/TableGen/FileParser.y.cvs
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2006-09-01 21:59:03 +0000
committerChris Lattner <sabre@nondot.org>2006-09-01 21:59:03 +0000
commit7717d0930ac4ef6eda81e9ae66cebef574daaadd (patch)
treefd07ab4297a42905d66b0bed1d393bc817f2b1f0 /utils/TableGen/FileParser.y.cvs
parentbf7744160594c939f858caa1f7744d25e1c4e0ee (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.cvs6
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;
}