Add some tests of advanced TableGen list functionality.
[oota-llvm.git] / test / TableGen / if.td
1 // RUN: tblgen %s | grep {\\\[1, 2, 3\\\]} | count 4
2 // RUN: tblgen %s | grep {\\\[4, 5, 6\\\]} | count 2
3
4 class A<list<list<int>> vals> {
5   list<int> first = vals[0];
6   list<int> rest  = !if(!null(!cdr(vals)), vals[0], vals[1]);
7 }
8
9 def One : A<[[1,2,3]]>;
10 def Two : A<[[1,2,3],[4,5,6]]>;
11
12 class B<list<int> v> {
13   list<int> vals = v;
14 }
15
16 class BB<list<list<int>> vals> : B<!if(!null(!cdr(vals)), vals[0], vals[1])>;
17 class BBB<list<list<int>> vals> : BB<vals>;
18
19 def OneB : BBB<[[1,2,3]]>;
20 def TwoB : BBB<[[1,2,3],[4,5,6]]>;