diff options
author | David Greene <greened@obbligato.org> | 2011-09-30 20:59:49 +0000 |
---|---|---|
committer | David Greene <greened@obbligato.org> | 2011-09-30 20:59:49 +0000 |
commit | 1045a594e65c65c55dfcd9585658eee85ef79e75 (patch) | |
tree | acd218c5ac5de5734458584d544ec2224c44c2c1 /utils | |
parent | 310c9ea87484ccb7d8427a95093c70c97359a93e (diff) | |
download | llvm-1045a594e65c65c55dfcd9585658eee85ef79e75.tar.gz llvm-1045a594e65c65c55dfcd9585658eee85ef79e75.tar.bz2 llvm-1045a594e65c65c55dfcd9585658eee85ef79e75.tar.xz |
Implement VarListElementInit:: resolveListElementReference
Implement VarListElementInit:: resolveListElementReference so that
lists of lists can be indexed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140882 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'utils')
-rw-r--r-- | utils/TableGen/Record.cpp | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/utils/TableGen/Record.cpp b/utils/TableGen/Record.cpp index 8c47888dbe..3d42a5233c 100644 --- a/utils/TableGen/Record.cpp +++ b/utils/TableGen/Record.cpp @@ -1443,8 +1443,16 @@ Init *VarListElementInit::resolveBitReference(Record &R, const RecordVal *RV, Init *VarListElementInit:: resolveListElementReference(Record &R, const RecordVal *RV, unsigned Elt) const { - // FIXME: This should be implemented, to support references like: - // int B = AA[0][1]; + Init *Result = TI->resolveListElementReference(R, RV, Element); + + if (Result) { + TypedInit *TInit = dynamic_cast<TypedInit *>(Result); + if (TInit) { + return TInit->resolveListElementReference(R, RV, Elt); + } + return Result; + } + return 0; } |