<div dir="ltr"><div><div><div>What's the best (most concise) way to create the following four defs?</div><div><br></div><div>D0 = (0, "A")</div><div>D1 = (1, "B")</div><div>D2 = (2, "C")</div>
<div>D3 = (3, "D")</div></div><div><br></div><div>I tried to use list of strings and the foreach construct, but apparently tablegen doesn't allow using identifiers to access array elements.</div><div><br></div>
<div></div></div><div>$ cat <a href="http://tbl3.td">tbl3.td</a></div><div><br></div><div>def StrList {</div><div>  list<string> ls = ["A", "B", "C", "D"];</div><div>}</div><div>
<br></div><div>class Base0<int i> {</div><div>  int I = i;</div><div>}</div><div><br></div><div>class Base1<string s> {</div><div>  string S1 = s;</div><div>}</div><div><br></div><div>foreach i = 0-3 in</div><div>
def D#i: Base0<i>, Base1<StrList.ls[i]>;<br></div><div><br></div><div>$ llvm-tblgen <a href="http://tbl3.td">tbl3.td</a></div><div><div>tbl3.td:15:37: error: expected integer or bitrange</div><div>def D#i: Base0<i>, Base1<StrList.ls[i]>;</div>
</div><div><br></div></div>