Implement a !foreach operator analogous to GNU make's $(foreach).
authorDavid Greene <greened@obbligato.org>
Thu, 14 May 2009 22:23:47 +0000 (22:23 +0000)
committerDavid Greene <greened@obbligato.org>
Thu, 14 May 2009 22:23:47 +0000 (22:23 +0000)
commitbeb31a51f67f651c5fa3c5094a78266d04a697a5
tree96cd08821f86feee3e6205232374f56d1b79f168
parent4afc509b7ffe2c4ea234dfd7af5105feb21685d9
Implement a !foreach operator analogous to GNU make's $(foreach).
Use it on dags and lists like this:

class decls {
  string name;
}

def Decls : decls;

class B<list<string> names> : A<!foreach(Decls.name, names, !strconcat(Decls.name, ", Sr."))>;

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71803 91177308-0d34-0410-b5e6-96231b3b80d8
docs/TableGenFundamentals.html
test/TableGen/TargetInstrSpec.td [new file with mode: 0644]
test/TableGen/foreach.td [new file with mode: 0644]
utils/TableGen/Record.cpp
utils/TableGen/Record.h
utils/TableGen/TGLexer.cpp
utils/TableGen/TGLexer.h
utils/TableGen/TGParser.cpp