summaryrefslogtreecommitdiff
path: root/utils/TableGen/FileParser.y
diff options
context:
space:
mode:
Diffstat (limited to 'utils/TableGen/FileParser.y')
-rw-r--r--utils/TableGen/FileParser.y6
1 files changed, 5 insertions, 1 deletions
diff --git a/utils/TableGen/FileParser.y b/utils/TableGen/FileParser.y
index 8ae2ef9ff1..0f0c4689e8 100644
--- a/utils/TableGen/FileParser.y
+++ b/utils/TableGen/FileParser.y
@@ -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;
}