2009-06-09 00:34:57 +02:00
|
|
|
// RUN: tblgen %s | grep {\\\[1, 2, 3\\\]} | count 4
|
|
|
|
// RUN: tblgen %s | grep {\\\[4, 5, 6\\\]} | count 2
|
2010-03-21 00:08:45 +01:00
|
|
|
// XFAIL: vg_leak
|
2009-05-15 01:26:46 +02:00
|
|
|
|
|
|
|
class A<list<list<int>> vals> {
|
|
|
|
list<int> first = vals[0];
|
|
|
|
list<int> rest = !if(!null(!cdr(vals)), vals[0], vals[1]);
|
|
|
|
}
|
|
|
|
|
|
|
|
def One : A<[[1,2,3]]>;
|
|
|
|
def Two : A<[[1,2,3],[4,5,6]]>;
|
|
|
|
|
|
|
|
class B<list<int> v> {
|
|
|
|
list<int> vals = v;
|
|
|
|
}
|
|
|
|
|
|
|
|
class BB<list<list<int>> vals> : B<!if(!null(!cdr(vals)), vals[0], vals[1])>;
|
|
|
|
class BBB<list<list<int>> vals> : BB<vals>;
|
|
|
|
|
|
|
|
def OneB : BBB<[[1,2,3]]>;
|
|
|
|
def TwoB : BBB<[[1,2,3],[4,5,6]]>;
|