diff options
author | David Greene <greened@obbligato.org> | 2009-04-24 16:55:41 +0000 |
---|---|---|
committer | David Greene <greened@obbligato.org> | 2009-04-24 16:55:41 +0000 |
commit | d34a73b3b709001c56db68a4d9a84e5d2002b1f0 (patch) | |
tree | e6b18f83f4e8efce6b3b11b73c3eec31327a4477 /utils/TableGen/Record.cpp | |
parent | 1c2c462d0f993e3575888d5825b9c25348e6e4e8 (diff) |
Fix multiclass inheritance to limit value resolution to new defs added
by base multiclasses. Do not attempt to alter defs from previous base
multiclasses. This fixes multiple multiclass inheritance.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69974 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'utils/TableGen/Record.cpp')
-rw-r--r-- | utils/TableGen/Record.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/utils/TableGen/Record.cpp b/utils/TableGen/Record.cpp index 9ce645de34..2e64c838ab 100644 --- a/utils/TableGen/Record.cpp +++ b/utils/TableGen/Record.cpp @@ -1060,6 +1060,20 @@ std::string Record::getValueAsCode(const std::string &FieldName) const { } +void MultiClass::dump() const { + cerr << "Record:\n"; + Rec.dump(); + + cerr << "Defs:\n"; + for (RecordVector::const_iterator r = DefPrototypes.begin(), + rend = DefPrototypes.end(); + r != rend; + ++r) { + (*r)->dump(); + } +} + + void RecordKeeper::dump() const { cerr << *this; } std::ostream &llvm::operator<<(std::ostream &OS, const RecordKeeper &RK) { |